2014-03-01 181 views
19

我使用的是Debian操作系統,我試圖指向cmake,我的Qt4在哪裏。CMake不知道Qt4在哪裏qmake

我嘗試建立qjson庫,並以其的CMakeLists.txt: http://pastebin.com/fKNp0Qgy

我得到:

Qt5 not found, searching for Qt4 
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory 
CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1386 (message): 
    Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x 
Call Stack (most recent call first): 
    CMakeLists.txt:55 (FIND_PACKAGE) 


-- Configuring incomplete, errors occurred! 

我不熟悉CMake和Qt的配置,但我很好奇什麼設置強制CMake FIND_PACKAGE查看qmake的'/ usr/lib/x86_64-linux-gnu/qt4/bin/qmake'。 我已經從源代碼安裝Qt 4.8.5,並且在完全不同的目錄中有Qt4 bin文件夾。

回答

6

我解決了我的問題。

使用grep命令查找QT_SELECT我發現QT_SELECT與/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf文件有關。從「默認」文件名我假設它是什麼被看作是QT_SELECT。與qtchooser -l一起提供的其他配置在/usr/share/qtchooser//usr/lib/x86_64-linux-gnu/qtchooser目錄中。

這樣的配置文件有兩條路徑。我只是改變了這些行,首先指向我的Qt bin目錄,然後指向我的Qt庫目錄。然後我可以看到qtchooser -print-env顯示爲QTTOOLDIRQTLIBDIR到我的Qt。

然後我可以很容易地用CMake建立qjson庫,Qt4被發現正確。

6

根據我的經驗,通過將包含qmake的文件夾放入PATH環境變量中可以很容易地解決此問題。

+1

當我將這個文件夾添加到PATH時,它仍然希望這個'/ usr/lib/x86_64-linux-gnu/qt4/bin/qmake',而不是我的'/ home/daniel/Programy/qt-everywhere-opensource-src -4.8.5/bin/qmake' – bLAZ

+0

也許在我的系統中存在'/ usr/lib/x86_64-linux-gnu/qt4/bin'目錄是有用的信息,但只有'qdbus'文件。 – bLAZ

+0

好的。我看到有一個工具'qtconfig'。它顯示我$ qtchooser -print-env QT_SELECT =「default」 QTTOOLDIR =「/ usr/lib/x86_64-linux-gnu/qt4/bin」 QTLIBDIR =「/ usr/lib/x86_64-linux-gnu」 我必須弄清楚如何指向我的qt版本。 – bLAZ

20

只是嘗試「命令和apt-get安裝QT-SDK」它爲我工作

+1

不是Ubuntu 14.04的解決方案。 –

0

最簡單的解決辦法是添加在創業板有望找到它的目錄的鏈接。在Ubuntu 14.04上,qmake位於/ usr/bin中。解決方案簡單

3

這裏是答案

https://askubuntu.com/questions/540746/ubuntu-14-04-qt5-development-libraries/540757#540757

似乎

apt-file search Qt5CoreConfig.cmake是我失蹤了。這讓我:

qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake 

安裝,似乎導致CMake查找Qt5。 qmake仍然報告時直接調用,但...從qt4的一些殘餘仍安裝它似乎是同樣的問題...

至於qmake問題,這是由固定的:

sudo apt-get install qt5-default 
0

在我的情況只是qtchooser錯過了「默認」配置。 我想cmake只是執行qtchooser並尋找「默認」配置文件名。 您可以通過以下操作安裝任何配置文件:

qtchooser -install <arbitrary_name> <path_to_qmake> 

在我來說,我只是提供了「默認」爲任意名稱...這個創建的默認。conf文件在適當的位置,一切都很好。我不認爲你有多少個有名的qt版本是有限制的。 如果你以root身份執行此操作,它應該適用於所有用戶。

0

在我的舊RHEL發行,這爲我做:

sudo yum install qt-devel.x86_64 

就在QT-基地之一不會與cmake的工作。