menu
 

在 Audiokinetic 社区问答论坛上,用户可对 Wwise 和 Strata 相关问题进行提问和解答。如需从 Audiokinetic 技术支持团队获取答复,请务必使用技术支持申请单页面。

+1 投票
While compiling my project in a server target, i have this linking error:
 

WwiseSoundEngineAPI_Null.cpp.obj : error LNK2019: unresolved external symbol "public: __cdecl AK::SoundEngine::DynamicSequence::PlaylistItem::PlaylistItem(void)" (??0PlaylistItem@DynamicSequence@SoundEngine@AK@@QEAA@XZ) referenced in function "public: virtual class AK::SoundEngine::DynamicSequence::PlaylistItem & __cdecl FWwiseSoundEngineAPI_Null::FDynamicSequence::FPlaylist::operator[](unsigned int)const " (??AFPlaylist@FDynamicSequence@FWwiseSoundEngineAPI_Null@@UEBAAEAVPlaylistItem@DynamicSequence@SoundEngine@AK@@I@Z)

WwiseSoundEngineAPI_Null.cpp.obj : error LNK2019: unresolved external symbol "public: __cdecl AK::SoundEngine::DynamicSequence::PlaylistItem::~PlaylistItem(void)" (??1PlaylistItem@DynamicSequence@SoundEngine@AK@@QEAA@XZ) referenced in function "void __cdecl `public: virtual class AK::SoundEngine::DynamicSequence::PlaylistItem & __cdecl FWwiseSoundEngineAPI_Null::FDynamicSequence::FPlaylist::operator[](unsigned int)const '::`2'::`dynamic atexit destructor for 'Empty''(void)" (??__FEmpty@?1???AFPlaylist@FDynamicSequence@FWwiseSoundEngineAPI_Null@@UEBAAEAVPlaylistItem@DynamicSequence@SoundEngine@AK@@I@Z@YAXXZ)

How can i fix it?
分类:General Discussion | 用户: Antonio Scaldaferri (110 分)

2 个回答

0 投票

I had this issue for Linux Server and I made a cheeky fix by making sure the TargetAkLibs were added for the server platform in WwiseSoundEngine_2024_1_OptionalModule.Build.cs in  the end of the Apply function. It's probably not the proper solution but it will solve the missing symbols. You could probably do something similar for a quick workaround


if (!IsWwiseTargetSupported && Target.Platform == UnrealTargetPlatform.Linux && Target.Type == TargetRules.TargetType.Server)
{

SE.PublicAdditionalLibraries.AddRange(WwiseUEPlatformInstance.GetSanitizedAkLibList(TargetAkLibs));

}
 

用户: Hannes R. (140 分)
0 投票

An ugly workaround that at least will compile on a server target is this:
Line 2182 in WwiseSoundEngineAPI_Null.cpp

AK::SoundEngine::DynamicSequence::PlaylistItem& FWwiseSoundEngineAPI_Null::FDynamicSequence::FPlaylist::operator[](unsigned int uiIndex) const
{
    check(false);
    FPlatformMisc::RaiseException(EXCEPTION_ACCESS_VIOLATION);
    static char EmptyBuffer[sizeof(AK::SoundEngine::DynamicSequence::PlaylistItem)];
    return *reinterpret_cast<AK::SoundEngine::DynamicSequence::PlaylistItem*>(EmptyBuffer);
}
用户: Magnus Alakangas (140 分)
Audiokinetic fixed the compilation in the latest version but now the Linux server doesn't cook anymore....
LogAkAudio: Error: FAkAudioModule::CreateResourceCookerForPlatform : Could not get platform info for target Linux!
...