I am just starting to port my app from qt3 to qt4. I have set up the project file to use the qt3 compatibility libraries as an initial step to get the port up and running. Then I intend to convert the ui files. I am running into a problem with the qmake generated make file only running uic3 against the main dialog ui file and no ohers. That is I only get the header file for one of my ui files and none of the others are processed.

I think the problem might be related to how I have the directories structured since I have each dialog in it own directory (each of these directories has the ui file along with the .h and .cpp files for the derived classes). All of these are explicitly listed in the project file and the resulting qmake generated make file worked as expected with qt3 (it would uic and moc all of the files that needed this). In addition the the project file has the correct locations for the local include path to pick up all of the header files but the qmake generated make file is missing this information and I had to add this by hand to get far enough to find this issue. What do I need to do to my project file to get qmake to generate a working make file?

Normally I have been using scons as my build system and I use the qt project file as part of my localization process and I periodically test it to make sure it is in sync with the current project image. But migrating the scons build scripts is another porting issue that I want to hold off on until I get the QT port working. Again I tested qmake generated make file before making any modification for the port and before running qt3to4 against the project.

Here is my project file:

Qt Code:
  1. TEMPLATE = app
  2. LANGUAGE = C++
  3.  
  4. CONFIG += qt warn_on debug
  5.  
  6. LIBS += -llcms -ltiff -L/usr/lib -lqassistantclient -lvigraimpex
  7.  
  8. INCLUDEPATH += src/liblprof src/argyll/h src/argyll/numlib src/argyll/rspl src/libqtlcmswidgets src/wwfloatspinbox
  9.  
  10. QT+=qt3support
  11.  
  12. HEADERS += src/liblprof/lcmsprf.h \
  13. src/lprofqt/lprofmain.h \
  14. src/monqt/monitorvalues.h \
  15. src/checkerqt/profilechecker.h \
  16. src/IDqt/profileid.h \
  17. src/parmsqt/profileparms.h \
  18. src/gammaqt/setgamma.h \
  19. src/reference_inst_qt/installreffile.h \
  20. src/argyll/h/sort.h \
  21. src/argyll/numlib/dhsx.h \
  22. src/argyll/numlib/dnsq.h \
  23. src/argyll/numlib/ludecomp.h \
  24. src/argyll/numlib/numlib.h \
  25. src/argyll/numlib/numsup.h \
  26. src/argyll/numlib/powell.h \
  27. src/argyll/numlib/rand.h \
  28. src/argyll/numlib/sobol.h \
  29. src/argyll/numlib/svd.h \
  30. src/argyll/numlib/zbrent.h \
  31. src/argyll/rspl/rev.h \
  32. src/argyll/rspl/rspl.h \
  33. src/argyll/rspl/rspl_imp.h \
  34. src/libqtlcmswidgets/qtlcmswidgets.h \
  35. src/wwfloatspinbox/wwfloatspinbox.h
  36.  
  37. SOURCES += src/liblprof/cmshull.c \
  38. src/liblprof/cmslm.c \
  39. src/liblprof/cmslnr.c \
  40. src/liblprof/cmsmatn.c \
  41. src/liblprof/cmsmkmsh.c \
  42. src/liblprof/cmsmntr.c \
  43. src/liblprof/cmsoutl.c \
  44. src/liblprof/cmspcoll.c \
  45. src/liblprof/cmsprf.c \
  46. src/liblprof/cmsreg.c \
  47. src/liblprof/cmsscn.c \
  48. src/liblprof/cmssheet.c \
  49. src/libqtlcmswidgets/qtlcmswidgets.cpp \
  50. src/lprofqt/lprofmain.cpp \
  51. src/lprofqt/main.cpp \
  52. src/monqt/monitorvalues.cpp \
  53. src/checkerqt/profilechecker.cpp \
  54. src/IDqt/profileid.cpp \
  55. src/parmsqt/profileparms.cpp \
  56. src/checkerqt/qtcietonge.cpp \
  57. src/checkerqt/qtdrawcurve.cpp \
  58. src/gammaqt/setgamma.cpp \
  59. src/reference_inst_qt/installreffile.cpp \
  60. src/argyll/numlib/dhsx.c \
  61. src/argyll/numlib/dnsq.c \
  62. src/argyll/numlib/ludecomp.c \
  63. src/argyll/numlib/numsup.c \
  64. src/argyll/numlib/powell.c \
  65. src/argyll/numlib/rand.c \
  66. src/argyll/numlib/sobol.c \
  67. src/argyll/numlib/svd.c \
  68. src/argyll/numlib/zbrent.c \
  69. src/argyll/rspl/opt.c \
  70. src/argyll/rspl/rev.c \
  71. src/argyll/rspl/rspl.c \
  72. src/argyll/rspl/scat.c \
  73. src/argyll/rspl/spline.c \
  74. src/wwfloatspinbox/wwfloatspinbox.cpp
  75.  
  76. #The following line was changed from FORMS to FORMS3 by qt3to4
  77. FORMS3 = src/lprofqt/lprofmainbase.ui \
  78. src/monqt/monitorvaluesbase.ui \
  79. src/checkerqt/profilecheckerbase.ui \
  80. src/IDqt/profileidbase.ui \
  81. src/parmsqt/profileparmsbase.ui \
  82. src/reference_inst_qt/installreffilebase.ui \
  83. src/gammaqt/setgammabase.ui
  84.  
  85. IMAGES = src/images/Norman_Koren-small.png \
  86. src/images/lcms.png \
  87. src/images/blue-grad.png \
  88. src/images/green-grad.png \
  89. src/images/orange-grad.png \
  90. src/images/yellow-grad.png \
  91. src/images/Norman_Koren-big.png
  92.  
  93. unix {
  94. UI_DIR = .ui
  95. MOC_DIR = .moc
  96. OBJECTS_DIR = .obj
  97. }
  98.  
  99.  
  100. #The following line was inserted by qt3to4
  101. QT += assistant
  102. #The following line was inserted by qt3to4
  103. CONFIG += uic3
To copy to clipboard, switch view to plain text mode 

As you can see the FORUMS3 section lists 7 ui files. Only the first one on the list is being processed. I double checked to make sure that I was using the correct qmake (IE. from qt4).

The next post will have the qmake generated make file: