Community Q&A

Welcome to Audiokinetic’s community-driven Q&A forum. This is the place where Wwise and Strata users help each other out. For direct help from our team, please use the Support Tickets page. To report a bug, use the Bug Report option in the Audiokinetic Launcher. (Note that Bug Reports submitted to the Q&A forum will be rejected. Using our dedicated Bug Report system ensures your report is seen by the right people and has the best chance of being fixed.)

To get the best answers quickly, follow these tips when posting a question:

  • Be Specific: What are you trying to achieve, or what specific issue are you running into?
  • Include Key Details: Include details like your Wwise and game engine versions, operating system, etc.
  • Explain What You've Tried: Let others know what troubleshooting steps you've already taken.
  • Focus on the Facts: Describe the technical facts of your issue. Focusing on the problem helps others find a solution quickly.

+1 vote
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?
in General Discussion by Antonio Scaldaferri (140 points)

2 Answers

0 votes

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));

}
 

by Hannes R. (140 points)
0 votes

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);
}
by Magnus Alakangas (140 points)
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!
...