Vivox and Linux Dedicated Server

Hey there,

I have integrated Vivox into a MP project of mine, based on the Shootergame template - just as the Vivox sample basically. However, when cooking, compiling the Linux Binaries fails during linking with hundreds of errors like this one:

ld.lld.exe: error: undefined symbol: VivoxClientApi::Uri::Uri()

The Vivox sample project fails in the same way. Is that an issue with my Linux toolchain? I have CLang 7.01 setup for UE4.22, as recommended.

Am I missing any flags for the linker I should set?

Thanks in advance.

We recommend using the #if !UE_SERVER pre-processor macro around any voice code. This will prevent issues when building for your dedicated server since it would not actually be using the voice functionality of the SDK. Please note, any usernames, channel names, or access tokens should be generated through your own logic and not via the Vivox Core Unreal plugin.

Thank you, E.Ryan1! I will give this a try shortly and report back.

Using the pre-processor macro fixed the building but still left the linker with trying to link the plugin for the Linux server, for some reason.

I excluded the plugin via the target platform now and that allowed me to compile the binaries fully, so thanks for your help! :slight_smile:

        if (Target.Platform != UnrealTargetPlatform.Linux)
        {
            PrivateDependencyModuleNames.Add("VivoxVoiceChat");
        }

No problem, glad to hear it’s working now. Thanks for the update. I wish you the best with your development!