[solved] upgrade c++ project from ue 4.24 to 4.25 under Linux

I’ve troubles with upgrading my c++ project from ue 4.24 to 4.25 under Linux.
When I try to start project, it says:
“Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE”.

in console:



ERROR: Building would modify the following engine files:
    /home/vvb/src/UnrealEngine/ue4/4.25/Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/Engine/SharedPCH.Engine.h.d
    /home/vvb/src/UnrealEngine/ue4/4.25/Engine/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/Engine/SharedPCH.Engine.h.gch

Please rebuild from an IDE instead.


My projects are located in unreal main folder, subfolder ue4. “ue4” is added to UE4Games.uprojectdirs.
I’ve try:

  1. run Setup.sh
  2. run GenerateProjectFiles.sh (my project files are present in UE4.pro).
  3. make.
    The engine is rebuilded from scratch (about 1.5 hours).
    I try to run my project, it says again that “Engine modules are out of date…”

How I can rebuild only project files under Linux?

go to source folder, locate {nameofproject}.Target.cs and {nameofproject}Editor.Target.cs. After the line
base(Target)
{
add to both file the following


DefaultBuildSettings = BuildSettingsVersion.V2;

If does not work please tell!

It’s working, thank you!

I also had this same error, and it also indicated having to rebuild many SOs as well as the UE4Editor.

I applied the solution from sam.new but it wasn’t enough. I noticed that UBT is invoked by the editor on start up with:



/path/to/UE4/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/path/to/project/project.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE


So, not having anything to lose, I removed the last two command line options as they looked like candidates contributing to the error message and re-invoked it with just:


/path/to/UE4/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/path/to/project/project.uproject" -TargetType=Editor -Progress

which solved the problem … and allowed me fix the errors causing the failure in the first palce

2 Likes

Just for any looking at this in future. The solution I gave above only applicable when upgrading old project on Linux from 4.24 or below to 4.25+ and you have no other error.
But if you have gis hotreload error or a menu showing that engine modules cant be compiled while editor is running then use the solution that @TestSubject89 has suggested. These problems are not the same

Thank you, you saved my sanity, i already thought i had to go back to an old state. The fix worked for me, too.

I don’t know if I am missing something, but I didn’t found a complete solution,
As @TestSubject89 says, you have to remove two options if the solution given by @anon3589488 is not enough.
You can do it in the file : Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp

Look for this line :

Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE";

Arguments += " -Progress";

Then

  • re-compile your engine
  • launch your project and accept the rebuild
3 Likes

Hey there, so i followed @nealith instructions, but still getting the problem popping up… Hav ei not recompiled my engine correctly? just saveing the changed code file to the same location?

@buenos_highres I think you missed running:
cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh
make
as described here Linux Quick Start | Unreal Engine Documentation

Hello. How did you run this command with ‘.exe’ extension? I got an error: ‘UnrealBuildTool.exe: command not found’

Firstly:
/home//UE/UnrealEngine/GenerateProjectFiles.sh /home/projectName/projectName.uproject -game
Then:
cd /home/projectName/
make projectNameEditor
then try to run again. So you need to make ‘Editor’ project for this… it was hard enough for me.

1 Like

This is useful.Thank you.