2011-03-14 90 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
相關問題