Why is the makefile from minGW qmake rock solid and the makefile from msvc qmake unstable? [Solved]
-
I have the same project file and I am running qmake from both Qt 5.1 minGW and Qt 5.1 msvc 2012. No matter how many times I run minGW qmake, the make file is always the same (using the diff tool to compare). However, when running the msvc 2012 qmake, I always get a different make file.....in particular, the implicit rules are coming up in a different order every time I'm run qmake. Are there anyone experiencing the same problem? Any Suggestions? I went this path, because it seems the easiest way to go 64 bits.
@ ####### implicit rules
.SUFFIXES: .c .cpp .cc .cxx{..\common\customwidgets}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< <<
@
@####### implicit rules .SUFFIXES: .c .cpp .cc .cxx {..\common\dialogA}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\dialogA}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\misc}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.cc{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.cxx{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.c{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< << {..\common\customwidgets}.cpp{}.obj:: $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo @<< $< <<@
-
The problem was "QTBUG-13496":https://bugreports.qt-project.org/browse/QTBUG-13496
The work around is to put the following in the project file (.pro):
@CONFIG += no_batch@