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.

Integrating Wwise Audio Input Component to Unreal fails with undefined symbols error

+1 vote

Hi, guys

I was following this guide to test out Audio Input integrated to newly created UE4 C++ project.  https://www.audiokinetic.com/fr/library/edge/?source=UE4&id=using_features_audioinput.html

All the steps in the guide were strictly followed, AkVoiceInputComponent.h and AkVoiceInputComponent.cpp are 99% (except for the xxx_API part) the same.   

When compiled, this error occurred:

Undefined symbols for architecture x86_64:
  "AkOcclusionObstructionService::UpdateObstructionOcclusion(TSet<UAkComponent*, DefaultKeyFuncs<UAkComponent*, false>, FDefaultSetAllocator> const&, FVector const&, AActor const*, AkRoomID, ECollisionChannel, float)", referenced from:
      UAkComponent::UpdateOcclusionObstruction() in AkVoiceInputComponent.cpp.o

the source structure, Wwise was integrated into the ue4 project other than the engine:

├── Plugins
│   └── Wwise
│       ├── Binaries
│       ├── Content
│       ├── Intermediate
│       ├── LauncherInfo.json
│       ├── Resources
│       ├── Source
│       ├── ThirdParty
│       ├── Wwise.uplugin
│       ├── Wwise_UE4_Integration.chm
│       ├── Wwise_UE4_Integration_ja.chm
│       ├── Wwise_UE4_Integration_ko.chm
│       └── Wwise_UE4_Integration_zh.chm
├── Source
│   ├── WwiseDemo
│   │   ├── AkVoiceInputComponent.cpp
│   │   ├── AkVoiceInputComponent.h
│   │   ├── WwiseDemo.Build.cs
│   │   ├── WwiseDemo.cpp
│   │   ├── WwiseDemo.h
│   │   ├── WwiseDemoCharacter.cpp
│   │   ├── WwiseDemoCharacter.h
│   │   ├── WwiseDemoGameMode.cpp
│   │   └── WwiseDemoGameMode.h
│   ├── WwiseDemo.Target.cs
│   └── WwiseDemoEditor.Target.cs
├── WwiseDemo.sln
├── WwiseDemo.uproject

Dependency checked added:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "AkAudio", "Voice" });

Plugin also enabled in uproject:

{
    "FileVersion": 3,
    "EngineAssociation": "{xxxxxxxxxxxxx}",
    "Category": "",
    "Description": "",
    "Modules": [
        {
            "Name": "WwiseDemo",
            "Type": "Runtime",
            "LoadingPhase": "Default"
        }
    ],
    "Plugins": [
        {
            "Name": "Wwise",
            "Enabled": true
        }
    ]
}

Platform: Mac 

Configuration: Development Editor

Wwise Version: 2021.1.5..7749.2171

 

What's worth mentioning is that the symbol not found link error only occurs on Mac platform.

While moving the exact same UE4 project to windows platform. everything compiles nicely.

 

Any idea what's went wrong and how to fix it?

Thanks in advance!

 

Best Regards.

 

 

 

 

asked Feb 16, 2022 in General Discussion by J X. (140 points)
The same problem occurred to me. Have you solved this problem?
Yep
find this file Wwise/Source/AkAudio/Classes/OcclusionObstructionService/AkOcclusionObstructionService.h

and modify this line
class AkOcclusionObstructionService
to
class AKAUDIO_API AkOcclusionObstructionService

that's it

Please sign-in or register to answer this question.

...