Hey everyone,
currently running into a problem where the Linux Server Target reports “undefined symbol” on functions added via a Linux library (.so). It all works fine when using Linux Editor Targets. I tried Dev, Debug and Shipping, all with the same result, so I assume the Server Target sets (or doesn’t set) something that this Library needs.
1>ld.lld.exe : error : undefined symbol: Microsoft::Azure::Gaming::GSDK::registerShutdownCallback(std::__1::function<void ()>)
1> >>> referenced by HLPlayFabSubsystem.cpp:84 (E:/UE4/Perforce/Clients/####/####Game_4_19/Source/####/Private/Core/Subsystems\HLPlayFabSubsystem.cpp:84)
1> >>> E:/UE4/Perforce/Clients/####/####Game_4_19/Intermediate/Build/Linux/B4D820EA####Server/Development/Hoverloop/HLPlayFabSubsystem.cpp.o:(UHLPlayFabSubsystem::NotifyStart())
1>
("####" is me cutting out project name).
I don’t really know what that could be. The Library in question is the GSDK from PlayFab:
GitHub - PlayFab/gsdk: Game Server SDK for PlayFab Multiplayer Servers
I’m loading it via: “PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, PlatformString, “libGSDK_CPP_Linux.so”));” in the project’s build.cs and that seems to not cause any trouble looking into the logs.
It also generates errors if I typo the name, so it seems to find it properly (it does when building Linux Editor).
Any idea what this could be caused by?