我尝试在 x86_64 平台(Fedora16)上构建 x86 应用程序。在这个应用程序中,我使用的是 Qt,构建系统是 cmake。在 CMakeLists.txt 我正在使用:
find_package(Qt4 REQUIRED qtmain QtCore QtGui QtWebKit)
include(${QT_USE_FILE})
用于生成 Makefile 的 cmake 命令如下:
cmake -DCMAKE_CXX_FLAGS="-fpermissive -m32"
-DCMAKE_CXX_LINKER_PREFERENCE="-m32"
-DCMAKE_EXE_LINKER_FLAGS="-m32"
-DCMAKE_SHARED_LINKER_FLAGS="-m32"
因此,编译链接器后找不到兼容的 Qt 库。像这样的错误:
/usr/bin/ld: skipping incompatible /usr/lib64/libQtWebKit.so when searching for -lQtWebKit
没关系。在 /usr/lib64 库中有 x64 平台。/usr/lib 中的所需库,它们存在!但我不明白,为什么 FindQt4 不能识别平台?该脚本设置了以下变量:QT_LIBRARY_DIR、QT_LIBRARIES 等等。此类变量设置如下:
-- QT_LIBRARY_DIR: /usr/lib64
-- QT_LIBRARIES: optimized;/usr/lib64/libQtWebKit.so;debug;/usr/lib64/libQtWebKit_debug.so;optimized;/usr/lib64/libQtXmlPatterns.so;debug;/usr/lib64/libQtXmlPatterns_debug.so;optimized;/usr/lib64/libQtGui.so;debug;/usr/lib64/libQtGui_debug.so;optimized;/usr/lib64/libQtNetwork.so;debug;/usr/lib64/libQtNetwork_debug.so;optimized;/usr/lib64/libQtCore.so;debug;/usr/lib64/libQtCore_debug.so
我的问题:为什么不 /usr/lib?我该如何解决?