コミュニティQ&A

Audiokineticのコミュニティ主導のQ&Aフォーラムへようこそ。ここはWwiseとStrataのユーザのみなさまがお互いに協力し合う場です。弊社チームによる直接のサポートをご希望の場合はサポートチケットページをご利用ください。バグを報告するには、Audiokinetic LauncherのBug Reportオプションをご利用ください。(Q&AフォーラムではBug Reportを受け付けておりませんのでご注意ください。専用のBug Reportシステムをご利用いただくことで、バグの報告が適切な担当部門に届き、修正される可能性が高まります。)

最適な回答を迅速に得られるよう、ご質問を投稿される際は以下のヒントをご参考ください。

  • 具体的に示す:何を達成したいのか、またはどんな問題に直面しているのかを具体的に示してください。
  • 重要な詳細情報を含める:Wwiseとゲームエンジンのバージョンやご利用のOSなど詳細情報を記載してください。
  • 試したことを説明する:すでに試してみたトラブルシューティングの手順を教えてください。
  • 事実に焦点を当てる:問題の技術的な事実を記載してください。問題に焦点を当てることで、ほかのユーザのみなさまが解決策を迅速に見つけやすくなります。

0 支持
Wwise plugin info "Version" : 201720933, "VersionName" : "2017.2.4.6590.933", "EngineVersion" : "4.19.0"

I am trying to use Suspend(bool) and WakeupFromSuspend() in UE4 but I have link error on methods I'm not even using. I guess I missed something.

I put AKAdio in the build.cs

In my cpp:

#include <AK/SoundEngine/Common/AkSoundEngine.h>

uint8 UMiscBlueprintFunctionLibrary::MuteWwise(bool mute)
{
    AKRESULT result = AKRESULT::AK_Fail;
    if (mute)
        AK::SoundEngine::Suspend(false);
    else
        result = AKRESULT::AK_Fail; //AK::SoundEngine::WakeupFromSuspend();
    return uint8(result);
}

 

The compilation error I get :

1>AkMemoryMgr.lib(AkMemoryMgrBase.obj) : error LNK2019: symbole externe non rÚsolu "void * __cdecl AK::AllocHook(unsigned __int64)" (?AllocHook@AK@@YAPEAX_K@Z) rÚfÚrencÚ dans la fonction "enum AKRESULT __cdecl AK::MemoryMgr::InitBase(long,unsigned long)" (?InitBase@MemoryMgr@AK@@YA?AW4AKRESULT@@JK@Z)
1>AkMemoryMgr.lib(AkMemoryMgr.obj) : error LNK2001: symbole externe non rÚsolu "void * __cdecl AK::AllocHook(unsigned __int64)" (?AllocHook@AK@@YAPEAX_K@Z)
1>AkMemoryMgr.lib(AkMemoryMgrBase.obj) : error LNK2019: symbole externe non rÚsolu "void __cdecl AK::FreeHook(void *)" (?FreeHook@AK@@YAXPEAX@Z) rÚfÚrencÚ dans la fonction "void __cdecl AK::MemoryMgr::Term(void)" (?Term@MemoryMgr@AK@@YAXXZ)
1>AkMemoryMgr.lib(AkMemoryMgr.obj) : error LNK2001: symbole externe non rÚsolu "void __cdecl AK::FreeHook(void *)" (?FreeHook@AK@@YAXPEAX@Z)
1>AkMemoryMgr.lib(AkMemoryMgr.obj) : error LNK2019: symbole externe non rÚsolu "void * __cdecl AK::VirtualAllocHook(void *,unsigned __int64,unsigned long,unsigned long)" (?VirtualAllocHook@AK@@YAPEAXPEAX_KKK@Z) rÚfÚrencÚ dans la fonction "long __cdecl AK::MemoryMgr::CreatePool(void *,unsigned long,unsigned long,unsigned long,unsigned long)" (?CreatePool@MemoryMgr@AK@@YAJPEAXKKKK@Z)
1>AkMemoryMgr.lib(AkMemoryMgr.obj) : error LNK2019: symbole externe non rÚsolu "void __cdecl AK::VirtualFreeHook(void *,unsigned __int64,unsigned long)" (?VirtualFreeHook@AK@@YAXPEAX_KK@Z) rÚfÚrencÚ dans la fonction "long __cdecl AK::MemoryMgr::CreatePool(void *,unsigned long,unsigned long,unsigned long,unsigned long)" (?CreatePool@MemoryMgr@AK@@YAJPEAXKKKK@Z)
1>D:\UE4 Projects\PerforceProjects\VrEscapeGame419\Binaries\Win64\UE4Editor-ProjetExempleVr.dll : fatal error LNK1120: 4 externes non rÚsolus

As soon as I comment the method call my project compile juste fine, even the AKRESULT enum doesn't throw error.

 

What did I do wrong and where do these errors come from ?

How can I effectively cal this "suspend" method in my UE4 project ?
AURELIEN G. (100 ポイント) General Discussion

回答 1

0 支持
read the error message carefully.

AK::AllocHook(unsigned __int64) and friends are missing because *you* are supposed to provide them.

for each missing symbol define and implement it and link.exe will find and use them.

hope that helps.
Dan M. (2.6k ポイント)
...