2011-03-14 155 views
18

我最近重新编译了Qt,以便我可以使用静态而不是共享库。但是现在,当我尝试编译我的项目,我得到以下错误:QMAKE:QMAKESPEC尚未设置

QMAKESPEC has not been set, so configuration cannot be deduced.

这似乎是一个普遍的问题,在发布前我做了一些研究。令我困惑的是我设定了QMAKESPEC env var。这里是printenv QMAKESPEC

/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++

而且,这里是QMAKE -query QMAKESPEC

linux-g++

我也试图与价值观玩弄的输出的输出,但似乎qmake根本看不到这个变量...... QTDIR也被正确指定。

我也试着重新编译Qt并重新安装它。

感谢您的帮助。

回答

0

好的,对不起,我想我知道有什么问题。我一直在从/ usr/bin /中保留的旧Qt安装中选取qmake。我现在已经删除了它,然后重新尝试安装Qt。希望它会工作=)

1

我有同样的问题,并通过安装libqt4-dev包解决它。

+1

不幸的是,这个答案与OP的问题无关 - 处理Qt的自定义静态构建而不是发行版。 – qdot 2012-10-11 10:53:45

22

运行的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现已安装前只需添加这一个脚本。

+0

+1为QMAKESPEC绝对路径,我不知道。 – solotim 2013-04-25 03:50:34

+0

它可以工作,但在我的系统上,正确的绝对路径是'/ usr/share/qt4/mkspecs/linux-g ++'(花了我一些时间来弄清楚它在哪里)。 – MBR 2017-09-01 09:22:13

0

,如果你懒得做一些额外的设置ENV的东西,在这里做的是一个内衬:

qmake -spec c:\qt\mkspecs\win32-msvc myproject.pro 

同样适用于其他平台

从4.8
相关问题