Once done, navigate to your source unreal engine folder (not game folder), run setup.bat to regenerate the sln. Then open up the sln, select linux as your version and whichever solution configuration you need (developer, server etc), and build it out. You will get some fails here. That is fine. The main point is that you want to populate your UnrealEngine-4.15.x-release\Engine\Binaries\Linux\ with the needed files to compile your project
Next, go to your game folder, right click the .uproject and regenerate new project files (if you don’t do this bit, your project doesn’t detect the newly built out dependencies for linux compilation). Open up the .sln file and compile your server there (you may or may not need to open up your project in the editor).
Since 4.15, we are unable to compile properly Linux dedicated server in shipping mode.
We try to uninstall all Visual Studio Version, reinstall the 2017 one, C++ runtime and checking the Linux Env variables but sadly we can’t find what to do with this.
I saw multiple threads on this issue, but no one seems to find a proper way to solve this. I don’t know if it’s link to the code or to our configuration, this is why I’m raising that here to get some feedback from Epic tech teams.
We tried on Win 7 and win 10, with the latest toolchain for the 4.15 version.
the error is: fatal error : ‘windows.h’ file not found
We did try on 4.16 also and we have the same error.
I recently ran into this. I was trying to build with Development Server for Linux. There was a mistake in my configuration, which needed to be changed. Fix in Visual Studio was:
Project->Properties->Configuration properties
Select your configuration and platform from the top (for me it was Development Server / Linux) and make sure the configuration has UE4 set to build AND the configuration drop down matches what you are trying to build. Mine said “Linux_Test”, but after changing it to Linux_Development, the build worked. I’m guessing that in the instance above, it needs to be set to “Linux_Shipping”.
The reason this appears during the build process, is that the includes aren’t being found since you are trying to build a configuration that is different from the defined includes you can find for in the BootstrapPackagedGame properties. This means the includes defined will never actually get included.