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.

unresolved external symbol Linker error UE4

0 votes
Hi, I'm trying to do very simple setup for language switching for wwise in ue4 and just trying to test out the calls I'm getting unresolved external symbol Linker error on build.

I have added PublicDependencyModuleNames.Add("AkAudio"); to my Build.cs as I saw that I had to do that on another post.

and I'm just trying to call a simple:

AK::StreamMgr::SetCurrentLanguage(AKTEXT("German"));

and I get this as an error on build:

error LNK2019: unresolved external symbol "enum AKRESULT __cdecl AK::StreamMgr::SetCurrentLanguage(wchar_t const *)" (?SetCurrentLanguage@StreamMgr@AK@@YA?AW4AKRESULT@@PEB_W@Z)

Any help would be appreciated.  Everything in editor is functioning properly with wwise, I'm only having problems trying to build custom C++ calling wwise functions.
asked Oct 6, 2015 in General Discussion by Marc J. (200 points)

1 Answer

+1 vote
 
Best answer

As you discovered, the UE4 integration does not, for now, support localization. We do have an item on our roadmap to address this.

The reason you get an unresolved external is because only the AkAudio module has access to the AK:: namespace. The way I would recommend to workaround the issue would be to wrap the SetCurrentLanguage function in the FAkAudioDevice. Take a look at FAkAudioDevice::StopPlayingID for a quick and dirty example. Then, in your game code, you would get the AkAudioDevice, and then use it to set the language:

FAkAudioDevice * AkAudioDevice = FAkAudioDevice::Get();
if( AkAudioDevice )
{
    AkAudioDevice->SetCurrentLanguage(TEXT("German"));
}

 

answered Oct 7, 2015 by Benoit S. (Audiokinetic) (16,020 points)
selected Oct 8, 2015 by Marc J.
...