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.

[C++] Include SDK produces unresolved external symbols

0 votes

Hello.

After reading through the docs and examples I spent around two days trying to integrate Wwise into our custom engine with less than great success. I'm running Visual Studio 2017 with a CPP project that compiles into a binary (.exe) file

#include <AK/SoundEngine/Common/AkSoundEngine.h>
#include <AK/IBytes.h>
#include <AK/SoundEngine/Common/AkModule.h>
#include <AK/SoundEngine/Common/AkMemoryMgr.h>

Those were both used with "$(WWISESDK)\include" or a direct path to the SDK on the drive, both yielding the same results: as soon as I try to use a namespace method the build fails with:

AK::MemoryMgr::GetDefaultSettings(memSettings); // SETUP MEMORY MANAGER FAILS WITH LINE:

Error    LNK2019    unresolved external symbol "void __cdecl AK::MemoryMgr::GetDefaultSettings(struct AkMemSettings &)" (?GetDefaultSettings@MemoryMgr@AK@@YAXAEAUAkMemSettings@@@Z) referenced in function "bool __cdecl InitWwiseEngine(void)" (?InitWwiseEngine@@YA_NXZ)    infEngine    E:\Games\INFINITE\engine\src\d_main.obj

I am by no means a master of CPP so my VS setup might be less than perfect, but having Wwise integrated would be a dream feature of ours. It would be of a great help if anybody would be kind enough to give me some pointers, after two days of failure to complie I feel a bit stuck.

Platform: Windows 7x64 / intel PC / Visual Studio 2017 15.9.17 / Wwise 2021.1.4.7707 x64

Thank you for your time,

James.

asked Oct 27, 2021 in General Discussion by James K. (110 points)

1 Answer

+1 vote

Unresolved symbols means that the linker is unable to find a defined function's implementation: make sure to add the link dependencies to your project (Wwise's libraries).

You can use the following working example solution for Visual Studio 2017 as reference: "%WWISEROOT%/SDK/samples/IntegrationDemo/Windows/IntegrationDemo_Windows_vc150.sln".

Right-click on your project, select Properties and go to the Input section under Linker. Make sure to add the required libraries in each Configuration and Platform target (i.e., architecture).

See Define Various Settings for Your C++ Project in the SDK documentation for more C++ related details.

answered Oct 27, 2021 by Samuel L. (Audiokinetic) (23,300 points)
...