2013-01-21 25 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