社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

+2 投票

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 

分类:General Discussion | 用户: Lucas H. (120 分)

2 个回答

0 投票
Make sure you followed the installation instructions, found here: https://www.audiokinetic.com/library/edge/?source=UE4&id=installation.html
用户: Benoit S. (Audiokinetic) (16.0k 分)
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 投票
I have te same error how did you solve it ?
用户: Alexandre S. (560 分)
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.
...