I am trying to build a Dedicated Server for an Unreal Engine 5 Project for Linux from Visual Studio.
The project contains a Plugin (UE4_Assimp)
that relies on an external library (Assimp)
for the import of 3D objects/models into the game at runtime. It could be that the Plugin is compiled for Windows only, though this is of no concern for the Dedicated Server build of my application: the import functionality is not needed in the Server Build so I excluded it from that build configuration by adding:
DisablePlugins.Add("UE4_Assimp");
to the MyGameServer.Target.cs
file. Regardless, the project can not be build from Visual Studio since the linker cannot access a file related to that Plugin.
71>ld.lld : error : cannot open C:/<project dir>/Plugins/UE4_Assimp/Source/ThirdParty/UE_AssimpLibrary/assimp/bin\libassimp.so: The file cannot be accessed by the system.
71>clang++ : error : linker command failed with exit code 1 (use -v to see invocation)
71>Failed to link C:\<project dir>\Binaries\Linux\MyGameServer after 10 retries
71>[2/2] WriteMetadata MyGameServer.target cancelled
71>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(45,5): error MSB3073: The command "C:\Users\TheaterDo_Medienabt\Documents\UE\Engine\Build\BatchFiles\Build.bat MyGameServer Linux Development -Project="C:\<project dir>\MyGame.uproject" -WaitMutex -FromMsBuild" exited with code 6.
71>Done building project "MyGame.vcxproj" -- FAILED.
... (some more lines without errors) ...
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 69 skipped ==========
However, the specified file libassimp.so
exists in the given directory. The file permission are set to read and write for anybody. It was compiled/build on a WSL 2 Ubuntu with cmake. The Unreal cross compile toolchain is installed, the Visual Studio C++ for Linux toolkit is installed.
Building the Dedicated Server for Win64 works without any problems. Help tackling this problem would be greatly appreciated.