Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

UE4 Integration... Can't Open UE4-AkAudio.lib

+2 votes

I'm trying to package for UE4.11.1 and WW2016.1.1, and I've been running into problems. I followed the installation procedure for an engine plugin to a T. The first error I got was unable to link to AKMP3Source.lib. Luckily I found that online, and added it to the libraries. But now I'm getting:

LINK : fatal error LNK1181: cannot open input file 'C:\Program Files (x86)\Epic Games\4.11\Engine\Plugins\Wwise\Binaries\Win64\UE4-AkAudio.lib'

That lib file doesn't exist in that directory. Nor does it exist in the equivalent folder in the wwise integration package download, so I'm not sure where it is meant to come from. Does it get compiled fresh with every make? What am I doing wrong?

Thank you for any help!

-Lucas 

asked Aug 11, 2016 in General Discussion by Lucas H. (120 points)

2 Answers

0 votes
Make sure you followed the installation instructions, found here: https://www.audiokinetic.com/library/edge/?source=UE4&id=installation.html
answered Aug 12, 2016 by Benoit S. (Audiokinetic) (16,020 points)
Yes, followed them very carefully. Many times. The issue can be replicated on different computers.
Could you please post a full log of when you try to package your game? Thanks!
LogSavePackage: Save=1559.21ms
LogSavePackage: Moving 'E:/Game Projects/Strangers/Perforce/Saved/UEDPCBeautiful_Corner9039A80E4183AFE42AD238BA4868A057.tmp' to 'E:/Game Projects/Strangers/Perforce/Saved/Autosaves/Game/_Maps_and_Modes/UEDPCBeautiful_Corner.umap'
LogSavePackage:Display: Finished SavePackage E:/Game Projects/Strangers/Perforce/Saved/Autosaves/Game/_Maps_and_Modes/UEDPCBeautiful_Corner.umap
LogEditorTransaction: Undo Spawn Play From Here Start
UATHelper: Packaging (Windows (64-bit)): Running AutomationTool...
UATHelper: Packaging (Windows (64-bit)): Automation.ParseCommandLine: Parsing command line: -ScriptsForProject="E:/Game Projects/Strangers/Perforce/Strangers_Main.uproject" BuildCookRun -nocompile -nocompileeditor -installed -nop4 -project="E:/Game Projects/Strangers/Perforce/Strangers_Main.uproject" -cook -stage -archive -archivedirectory="C:/Users/tom/Desk
top/New folder" -package -clientconfig=Shipping -ue4exe=UE4Editor-Cmd.exe -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -CrashReporter -utf8output
UATHelper: Packaging (Windows (64-bit)): Automation.Process: Setting up command environment.
UATHelper: Packaging (Windows (64-bit)): BuildCookRun.SetupParams: Setting up ProjectParams for E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject
UATHelper: Packaging (Windows (64-bit)): Project.Build: ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe Strangers_Main Win64 Shipping -Project="E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject"  "E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject"  -remoteini="E:\Game Projects\Strangers\Perforce" -noxge
 -generatemanifest -NoHotReload
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 0.7997709s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe Strangers_Main Win64 Shipping -Project="E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject"  "E:\Game Projects\Strangers\Perforce\Strangers_Main.upr
UATHelper: Packaging (Windows (64-bit)): oject"  -remoteini="E:\Game Projects\Strangers\Perforce" -noxge -NoHotReload -ignorejunk
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: Creating makefile for Strangers_Main (changes to target files)
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: Performing 1 actions (4 in parallel)
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: [1/1] Link Strangers_Main-Win64-Shipping.exe
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: LINK : fatal error LNK1181: cannot open input file 'C:\Program Files\Epic Games\4.13\Engine\Plugins\Wwise\Binaries\Win64\UE4-AkAudio-Win64-Shipping.lib'
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: E:\Game Projects\Strangers\Perforce\Binaries\Win64\Strangers_Main-Win64-Shipping.exe
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: Total build time: 4.56 seconds
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 4.6930085s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Program Files\Epic Games\4.13\Engine\Binaries\DotNET\UnrealBuildTool.exe Strangers_Main Win64 Shipping -Project
UATHelper: Packaging (Windows (64-bit)): ="E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject"  "E:\Game Projects\Strangers\Perforce\Strangers_Main.uproject"  -remoteini="E:\Game Projects\Strangers\Perforce" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2016.11.03-14.19.27.txt'
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictio
nary`2 InTargetToManifest)
UATHelper: Packaging (Windows (64-bit)):    at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (Windows (64-bit)):    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.Automation.Process(String[] Arguments)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (Windows (64-bit)):    at AutomationTool.Program.Main()
UATHelper: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults:Error: Error Unknown Error
We have something similar happening with Wwise Engine Integration (current) on UE4.19.1. We have AKAudio specified in our public module dependencies. Any ideas how to resolve it? - thanks

D:\Root\TestProject\Game>UnrealBuildTool.exe TestProject Win64 Development -TestProject=D:\Root\TestProject\Game\TestProject.uproject  D:\Root\TestProject\Game\TestProject.uproject -NoUBTMakefiles  -remoteini="D:\Root\TestProject\Game" -noxge -NoHotReload -ignorejunk
Performing 1 actions (16 in parallel)
[1/1] Link TestProject.exe
   Creating library D:\Root\TestProject\Game\Binaries\Win64\TestProject.lib and object D:\Root\TestProject\Game\Binaries\Win64\TestProject.exp
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl AK::WwiseAuthoringAPI::JsonProvider::GetJsonString(void)const " (?GetJsonString@JsonProvider@WwiseAuthoringAPI@AK@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "void __cdecl WampEventCallbacks(unsigned __int64 const &,class AK::WwiseAuthoringAPI::JsonProvider const &)" (?WampEventCallbacks@@YAXAEB_KAEBVJsonProvider@WwiseAuthoringAPI@AK@@@Z)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl AK::WwiseAuthoringAPI::Client::Client(void)" (??0Client@WwiseAuthoringAPI@AK@@QEAA@XZ) referenced in function "private: __cdecl FAkWaapiClient::FAkWaapiClient(void)" (??0FAkWaapiClient@@AEAA@XZ)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl AK::WwiseAuthoringAPI::Client::~Client(void)" (??1Client@WwiseAuthoringAPI@AK@@UEAA@XZ) referenced in function "public: virtual __cdecl FAkWaapiClient::~FAkWaapiClient(void)" (??1FAkWaapiClient@@UEAA@XZ)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl AK::WwiseAuthoringAPI::Client::Connect(char const *,unsigned int)" (?Connect@Client@WwiseAuthoringAPI@AK@@QEAA_NPEBDI@Z) referenced in function "public: bool __cdecl FAkWaapiClient::AttemptConnection(void)" (?AttemptConnection@FAkWaapiClient@@QEAA_NXZ)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl AK::WwiseAuthoringAPI::Client::IsConnected(void)const " (?IsConnected@Client@WwiseAuthoringAPI@AK@@QEBA_NXZ) referenced in function "public: bool __cdecl FAkWaapiClient::IsConnected(void)" (?IsConnected@FAkWaapiClient@@QEAA_NXZ)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: void __cdecl AK::WwiseAuthoringAPI::Client::Disconnect(void)" (?Disconnect@Client@WwiseAuthoringAPI@AK@@QEAAXXZ) referenced in function "public: void __cdecl <lambda_0c45e3ab2725825cbc45a1ff0aaf6160>::operator()(void)const " (??R<lambda_0c45e3ab2725825cbc45a1ff0aaf6160>@@QEBAXXZ)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl AK::WwiseAuthoringAPI::Client::Subscribe(char const *,char const *,class std::function<void __cdecl(unsigned __int64,class AK::WwiseAuthoringAPI::JsonProvider const &)>,unsigned __int64 &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int)" (?Subscribe@Client@WwiseAuthoringAPI@AK@@QEAA_NPEBD0V?$function@$$A6AX_KAEBVJsonProvider@WwiseAuthoringAPI@AK@@@Z@std@@AEA_KAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@H@Z) referenced in function "public: bool __cdecl FAkWaapiClient::Subscribe(char const *,class FString const &,class TBaseDelegate<void,unsigned __int64,class TSharedPtr<class FJsonObject,0> >,unsigned __int64 &,class FString &,int)" (?Subscribe@FAkWaapiClient@@QEAA_NPEBDAEBVFString@@V?$TBaseDelegate@X_KV?$TSharedPtr@VFJsonObject@@$0A@@@@@AEA_KAEAV2@H@Z)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl AK::WwiseAuthoringAPI::Client::Unsubscribe(unsigned __int64 const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int)" (?Unsubscribe@Client@WwiseAuthoringAPI@AK@@QEAA_NAEB_KAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function "public: bool __cdecl FAkWaapiClient::Unsubscribe(unsigned __int64 const &,class FString &,int,bool)" (?Unsubscribe@FAkWaapiClient@@QEAA_NAEB_KAEAVFString@@H_N@Z)
UE4-AkAudio.lib(Module.AkAudio.cpp.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl AK::WwiseAuthoringAPI::Client::Call(char const *,char const *,char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int)" (?Call@Client@WwiseAuthoringAPI@AK@@QEAA_NPEBD00AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function "public: bool __cdecl FAkWaapiClient::Call(char const *,class FString const &,class FString const &,class FString &,int,bool)" (?Call@FAkWaapiClient@@QEAA_NPEBDAEBVFString@@1AEAV2@H_N@Z)
D:\Root\TestProject\Game\Binaries\Win64\TestProject.exe : fatal error LNK1120: 9 unresolved externals
ERROR: UBT ERROR: Failed to produce item: D:\Root\TestProject\Game\Binaries\Win64\TestProject.exe
I determined the cause of the problem we're having. In the response file being passed to the linker (ex: Projects\TestProject\Intermediate\Build\Win64\TestProject\Development\TestProject.exe.response

1. One of the Ak libs, AkAutobahn.lib, is not being passed to the linker (needs "AkAutobahn.lib" in lib list)



2. The vc150 lib path is being chosen...

    Plugins\Wwise\ThirdParty\x64_vc150\Profile\lib

...and not the vc140 lib path...


    Plugins\Wwise\ThirdParty\x64_vc140\Profile\lib

...when the rest of the project libs appear to be vc140. This might possibly be related to the use of VS2017 as a compiler set which includes the VS2015 targets. Unreal has tested this scenario.

I'm working on a solution...

Update: Looking at Plugins\Wwise\Source\AkAudio\AkAudio.Build.cs

WRT vc_150: In VcGetVisualStudioVersion(), it's selecting which vcrt to use based on the version of VisualStudio being reported. My gut tells me that's probably not correct. Instead, I'm guessing that the vcrt version is set in some property bucket. I'll dig around for it...

if (Compiler == (WindowsCompiler)Enum.Parse(typeof(WindowsCompiler), "VisualStudio2017"))
{
    VSVersion = "vc150";
}


WRT AkAutobahn.lib: In the SupportsAkAutobahn() method it's explicitly not including the lib when VisualStudio2017 is the compiler. That's feels like an old workaround that needs to be removed...

if (Compiler == (WindowsCompiler)Enum.Parse(typeof(WindowsCompiler), "VisualStudio2017"))
{
    CompilerSupported = false;
}

Given that the lib is provided for both the vc140 and vc150 sets - everywhere the rest of the Ak libs are provided.

Resolution: Commenting out the following lines resolves the problem when building under VisualStudio 2017...

            // BUGBUG: 2018-4-25 - PaulBro disabled to work around build problems.
            // See https://www.audiokinetic.com/qa/2573/ue4-integration-cant-open-ue4-akaudio-lib?show=4696#c4696
            bool CompilerSupported = true;
            //try
            //{
                //if (Compiler == (WindowsCompiler)Enum.Parse(typeof(WindowsCompiler), "VisualStudio2017"))
                //{
                    //CompilerSupported = false;
                //}
            //}
            //catch (Exception)
            //{
            //}
+1 vote
I have te same error how did you solve it ?
answered Apr 9, 2017 by Alexandre S. (560 points)
The fixed E4\Engine\Plugins\Wwise\Source\AkAudio\AkAudio.Build.cs in recent releases. See the workaround in my code comments, above, which are no longer necessary.
...