2013-10-24 80 views
1

注意:與問題「make無法找到Qt4」不一樣的問題!cmake沒有看到Qt4

嗨。這裏有很多非常類似的問題,但我找不到一個有這麼明顯問題的問題。我需要在Scientific Linux 5.8上安裝pyside。我已經解決了一些困難的大多數依賴問題,現在我試圖從源代碼構建pyside。

我混帳clone'd所需的目錄,現在cd'ing首先進入apiextractor /運行

]$ mkdir build 
]$ cd build 
]$ cmake ../ 

...失敗CMake的錯誤:

Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x 

然而,我已經從atrpms-testing存儲庫安裝了qt47和qt47-devel。展望在/ usr/lib64下/

]$ /usr/lib64/qt* 

...生產:

screen shot of my virtual machine

所以我的問題非常簡單:爲什麼CMake的(特別命令「find_package(4.5.0的Qt4需請)「)沒有發現Qt 4.7時,它在那裏,並位於你期望的地方。

注:我正在使用cmake-2.8。

乾杯,

德里克

+0

看起來你已經安裝了太舊版本(QT 3.3 ) - 你有沒有嘗試卸載?如果你這麼做,你應該在重新運行CMake之前刪除你的構建樹根目錄下的CMakeCache.txt,或者甚至刪除整個構建樹以保證安全。 – Fraser

+0

@Fraser;你好。感謝您的建議。弗雷澤,是的,我意識到這一點,但cmake只是爲此而設計的。這是CMake命令首先查找Qt,然後檢查它的版本,如果版本不正確,它應該繼續尋找其他明智的報告錯誤「不適合的Qt版本」3.3「...」。在這種情況下,它根本找不到任何Qt庫的實例。 – dmon

回答

1

我猜想,cmake的依賴QMAKE確定Qt庫的佈局。所以,如果你的系統已經安裝的Qt的幾個版本,你將不得不照顧到指定qmake的你想cmake的使用,例如:

$ mkdir build 
$ cd build 
$ cmake .. -DQT_QMAKE_EXECUTABLE=path/to/qt4/qmake