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

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.

 

 

 

 

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.

...