Order of Impicit rules in the makefile [solved]



  • I've been struggling for a while on this. I switched my project from mingw 4.8 to msvc(2012) 5.1 and have been having problems with qmake. The problem lies with the implicit rules in the makefile. I would expect the implicit rules would stay the same unless there are changes with the project. But the rules are always showing up in different order every time I run qmake. Any Suggestion to correct this problem with my makefile?

    QMake run 1 and then QMake run 2 - the results seems to be random
    @
    ####### 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.