2012-12-03 45 views
2

使用FindQt.cmake寻找Qt库:查找QT4库ARM-Linux的

FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtOpenGL) 

但是,我总是收到这样的警告:

The ASM compiler identification is GNU 

CMake Warning at ../cmake-2.8/Modules/FindQt4.cmake:601 (MESSAGE): 
    /Qt4.8.0/bin/qmake reported 
    QT_INSTALL_LIBS as "/Qt4.8.0/lib" 
    but QtCore could not be found there. Qt is NOT installed correctly for the 
    target build environment. 

我肯定有下QtCore库: /Qt4.8.0/lib

ls -all libQtCore* 

-rw-r--r-- 1 root root  950 Nov 30 13:08 libQtCore.la 
-rw-r--r-- 1 root root  942 Nov 30 13:07 libQtCore.prl 
lrwxrwxrwx 1 root root  18 Nov 30 13:07 libQtCore.so -> libQtCore.so.4.8.0 
lrwxrwxrwx 1 root root  18 Nov 30 13:08 libQtCore.so.4 -> libQtCore.so.4.8.0 
lrwxrwxrwx 1 root root  18 Nov 30 13:08 libQtCore.so.4.8 -> libQtCore.so.4.8.0 
-rwxr-xr-x 1 root root 2697932 Nov 30 13:08 libQtCore.so.4.8.0 

我该如何检查为什么会出现这样的警告,说明在该目录中找不到QtCore?

回答

1

CMake分布中查看FindQt4.cmake模块的代码我为这个问题找到了解决方法。除了QT_QMAKE_EXECUTABLE变量之外,我还设置了QT_QTCORE_LIBRARY_RELEASE。我把它们放进我的cmake工具链以下列方式:

# Qt4 related stuff required here due to FindQt4.cmake issues 
set(QT_QMAKE_EXECUTABLE $ENV{QT_DIR}/bin/qmake) 
set(QT_QTCORE_LIBRARY_RELEASE $ENV{QT_DIR}/lib/libQtCore.so) 

我用QT_DIR环境变量,以简化不同的Qt4之间切换的基础之上。