Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

QMAKE: QMAKESPEC has not been set

Tags:

qt

qmake

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.

like image 998
ravil Avatar asked Mar 14 '11 19:03

ravil


4 Answers

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.

like image 105
creatron Avatar answered Oct 17 '22 10:10

creatron


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

like image 42
yerlilbilgin Avatar answered Oct 17 '22 12:10

yerlilbilgin


I had the same problem and solved it by installing the libqt4-dev package.

like image 1
user191094 Avatar answered Oct 17 '22 10:10

user191094


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.

like image 1
Hilton Fernandes Avatar answered Oct 17 '22 12:10

Hilton Fernandes