2013-01-21 26 views
-2

CMake的ubuntu上是給我下面的錯誤CMake的尋找Qt庫在錯誤的道路上的Ubuntu

CMake Error at blah/CMakeLists.txt:19 (ADD_LIBRARY) 
Cannot find source file: 
    /usr/lib/libQtGui.so 

的CMakeLists.txt的相關部分是這個

FIND_PACKAGE (Qt4 REQUIRED) 
INCLUDE(${QT_USE_FILE}) 
INCLUDE_DIRECTORIES (${QT_INCLUDES}) 
QT4_WRAP_CPP (QT_SRCS ${HEADERS}) 
ADD_LIBRARY (blah ${CPP} ${QT_SRCS} ${QT_LIBRARIES}) 

一個小調查顯示那libQtGui.so和它的朋友住在/usr/lib/i386-linux-gnu(這是correct)而不是/usr/lib,因爲CMake認爲它的確如此。

這個構建環境在幾個月前運行良好。沒有源文件或配置文件發生變化,但軟件包已經定期更新。

發生了什麼變化?我怎樣才能解決這個問題?

+0

首先,你不應該把'$ {QT_LIBRARIES}'到源文件的列表。該變量設計用於'target_link_libraries(blah $ {QT_LIBRARIES})'中。如果你這樣使用,問題是否會持續存在? – Angew

回答

0

正如在this question的回答中指出的那樣,問題在於Ubuntu 12.04將庫安裝到非標準路徑。

解決方法是

export LIBRARY_PATH=/usr/lib/i386-linux-gnu/ 
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu 
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu