QMAKE: QMAKESPEC has not been set
I have recently recompiled 开发者_运维问答Qt so that I can use static instead of shared libraries. But now, when I try to compile my project, I get the following error:
QMAKESPEC has not been set, so configuration cannot be deduced.
It seems like a common problem and I did do some research before posting. What's puzzling me is that I did set the QMAKESPEC env var. Here is the output of printenv QMAKESPEC
/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++
Also, here is the output of qmake -query QMAKESPEC
linux-g++
I have also tried playing around with the values, but it seems that qmake can't see that variable at all... QTDIR is also specified properly.
I have also tried to recompile Qt and reinstall it.
Thanks for your help.
Just add this to a script before running qmake
Unix Bourne shell:
QMAKESPEC=/usr/local/qt/mkspecs/linux-g++
PATH=$PATH:/local/qmake/bin
export QMAKESPEC PATH
Unix C shell:
setenv QMAKESPEC /usr/local/qt/mkspecs/linux-g++
setenv PATH $PATH:/local/qmake/bin
Microsoft Windows:
set QMAKESPEC=c:\qt\mkspecs\win32-msvc
set PATH=%PATH%;c:\qmake\bin
qmake is now installed.
if you are lazy to do extra set-env stuff, do here is a one liner:
qmake -spec c:\qt\mkspecs\win32-msvc myproject.pro
same goes for other platforms
I had the same problem and solved it by installing the libqt4-dev package.
From 4.8 on, qmake has a system of persistent information that can be defined using the -set
option, and consulted using -query
.
For more detail, consult the Configuring qmake's Environment for qmake 4.8, and Configuring qmake for qmake 5.0.
Ok, sorry, I think I know what's the problem. I have been picking up qmake from the old Qt installation that was left in /usr/bin/. I have deleted it now, and going to re-try installing Qt. Hope it will work =)
精彩评论