Solved Config += no_batch. Where is the documentation for this option?
When my project's qmake runs (qtcreator 4.2.0) I am getting this message:
Automatically turning off nmake's inference rules. (CONFIG += no_batch)
Couple of questions:
Why does it references "nmake"? Is it because I am using Microsoft compiler?
I can't find any reference documentation on no_batch option. Moreover, google search brought me to the page where another option, object_parallel_to_source, is also mentioned.
Perhaps someone knows where I can read about them? QMake Manual index has nothing, or I am missing something.
SGaist Lifetime Qt Champion last edited by
If you can't find anything, the best place is to dive into the code.
Otherwise you can also ask on the Qt Creator mailing list. You'll find there Qt Creator developers/maintainers. This forum is more user oriented.
Chris Kawa Moderators last edited by
Doesn't seem to be documented but looking at the code and the comments there, it seems that there's some optimization going on, which can cause problems with nmake when there are files named the same but in different directories (as stated in the bug report you mentioned compiled object files end up in the same directory and overwrite each other). In that case the optimization is turned off and this warning is issued. The solution seems to be either specify that option explicitly (as the warning suggests) to silent the warning or to get rid of name duplicates. The latter would be my recommendation. Duplicates are nothing but trouble.
@Chris-Kawa said in Config += no_batch. Where is the documentation for this option?:
Duplicates are nothing but trouble.
You would have been right, if the files in question were parts of the relevant project. In reality, to get this warning, it's enough for nmake to stumble upon a file that just happens to lie around and have the same name as any of the (hundreds) of files in your project. Example: you borrow a class (*.h + *.cpp) from another project, nmake peeks in its folder, sees main.cpp of this other project, and ***ts itself. So the blame is squarely on nmake being obtuse.