I have a Qt application developed in Qt Creator 3.3 (Windows 7) using Qt 5.4.0 which was (and still is) working fine. I also installed Qt 5.4.1 parallel to it with kit definition of its own which does not fully work.
The problem that I'm having is that in the autogenerated makefiles of the 5.4.1 build, I have a duplicate LIBS entry for both Qt versions. Below are the relavant parts of the generated makefiles (I added linebreaks for readability)
Qt 5.4.0
LIBS = glu32.lib opengl32.lib gdi32.lib user32.lib shell32.lib
/LIBPATH:
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\qtmain.lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\Qt5WinExtras.lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\Qt5Widgets.lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\Qt5Gui.lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\Qt5Network.lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl\lib\Qt5Core.lib
Qt 5.4.1
LIBS = glu32.lib opengl32.lib gdi32.lib user32.lib shell32.lib
/LIBPATH:
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\qtmain.lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\Qt5WinExtras.lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\Qt5Widgets.lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\Qt5Gui.lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\Qt5Network.lib
C:\cpplib\qt-5.4\5.4.1\msvc2010_opengl_64\lib\Qt5Core.lib
/LIBPATH:
C:\cpplib\qt-5.4\5.4\msvc2010_opengl_64\lib
C:\cpplib\qt-5.4\5.4\msvc2010_opengl_64\lib\Qt5Core.lib
If I remove the last two lines everything works fine, but obviously only until the next time I run qmake
, then they are written again. I could not find any menu in Qt Creator and settings file in my AppData
folder related to these entries so I have no idea where all these values come from. There are no additional LIBS
entries in my project file and of course, it is the same project for both builds.
Note: I should add that the last file can't be found because I do not have a 64bit Qt 5.4.0 build on my machine. Otherwise the additional entry would not really matter as it is simply not needed.