QMake and make with parallel jobs [bug?]
-
Hi folks,
is seems like theres is a bug in the Makefile generation of qmake. When running make after qmake as usual, I get no errors, but running it with multiple jobs, lets say "make -j3", I get the following error:
@make: *** No rule to make target
../../../ui/ui_something.h', needed by
something.o'. Stop.
make: *** Waiting for unfinished jobs....@It looks like, that the uic does not finish before the other parallel compile jobs start. Is there a way to fix this (I mean not by starting make twice)?
Thanks in advance!
Best,
Eckard -
No, of course. But qmake seems to write the uic calls into the makefile that make processes. Using make with the -j argument parallelizes the execution of the makefile to a certain extend. But make does not seem to care about the uic calls correctly, because it executes the following compile commands without waiting for the uic calls to be finished (which result in the upper error message).
-
This sounds like a bug to me. Have you considered filing it in our "bugtracker":http://bugreports.qt.nokia.com/ ?
-
created a new issue:
"QTBUG-12139":http://bugreports.qt.nokia.com/browse/QTBUG-12139
-
I use qmake and make -j4 for ages, never had that problem. I read about a similar problem somewhere, there were some unnecessary #include-s of the same files across the project, and that made some trouble. I don't know if it has anything to do with your problem.
-
I'm using qmake together with make -j8 on several projects for years without any hazzle (including speeding up compilation of my project in Creator).
For me it's CMake that causes problems with parallel builds. But since I rarely use that, it's not a real issue for me.