0

我尝试在 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?我该如何解决?

4

1 回答 1

0

-m32可能是因为 FindQt4 模块对标志一无所知。

尝试QT_LIBRARY_DIR明确设置。

于 2012-09-10T09:21:05.453 回答