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@


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.