Building projects from QtCreator in Linux

I’m having some difficulty getting QtCreator to build my C++ project correctly inside the IDE. I managed to get the UE4 engine compiled and running, as well as getting a new C++ project created. I configured QtCreator as described in the UE4 documentation, and I’m able to successfully run it from the IDE without issue.

My problem is that I don’t seem to be able to change the source for my project from within QtCreator and have it recompile correctly. To test if it was working, I basically opened up one of my source files, typed in some nonsense junk, and told it to build my UE4 project. Every time it builds successfully and completely ignores the changes I’ve made.

On the other hand, if I compile from the editor by hitting the “Compile” button, it encounters c++ compilation errors (which is correct!) and throws out an error message.

I skimmed through the log after running compile and extracted this command that it seemed the editor was using:

/home/zecknaal/UnrealEngine/Engine/Binaries/DotNET/UnrealBuildTool.exe Jack Development Linux -project=“/home/zecknaal/Unreal Projects/Jack/Jack.uproject” -editorrecompile -progress -NoHotReloadFromIDE

If I add that as a build step in QtCreator, it does trigger the same compile call to my project on build, so I am able to technically get QtCreator to trigger a real build for my project. However, that leaves me totally unable to use nice features in my IDE to track compilation issues, and I just have to skim the output log to find my problems.

I assume that this is not the correct way to build a project and that I’ve set something up correctly in my build settings. Here’s what I have now:

And more info:

I feel like what I might have managed to do is set up my project to rebuild UE4Editor again and again and that’s why it isn’t able to accurately pick up the changes I’ve made to my project. Does anybody know what I did wrong?

Hi,

Now that you’re on Linux, I think it’s quite safe to ask this:
Did you try build the shared object like:
# make Jack-Linux-Debug
before?

It should really tell you anything wrong if it’s in the right path.

Thanks for reminding me about this post! I figured out the issue a couple of days later after messing with manually running UnrealBuildTool. The documentation I followed here is misleading at step 4 (maybe just simply incorrect?) when it shows the Make arguments to supply for your C++ project. It implies that you want your project to use “UE4Editor-Linux-Debug” as your Make argument, but all that will end up doing is tell your project to rebuild UE4Editor (which I suppose does make sense). What I really needed to pass in was JackEditor-Linux-Debug, which triggers a rebuild of my project’s code, which is what I actually wanted to have happen.