在CMake不识别标志-m32中找到QT4
我尝试在x86_64平台(Fedora16)上构建x86应用程序。在这个应用程序中,我使用的是Qt,构建系统是cmake。 在CMakeLists.txt中,我使用:在CMake不识别标志-m32中找到QT4,qt,gcc,cmake,Qt,Gcc,Cmake,我尝试在x86_64平台(Fedora16)上构建x86应用程序。在这个应用程序中,我使用的是Qt,构建系统是cmake。 在CMakeLists.txt中,我使用: find_程序包(Qt4必需qtmain QtCore QtGui QtWebKit) include(${QT\u USE\u FILE}) 用于生成生成生成文件的cmake命令,如下所示: cmake-DCMAKE_CXX_FLAGS=“-fppermissive-m32” -DCMAKE_CXX_LINKER_PREFERE
find_程序包(Qt4必需qtmain QtCore QtGui QtWebKit)
include(${QT\u USE\u FILE})
用于生成生成生成文件的cmake命令,如下所示:
cmake-DCMAKE_CXX_FLAGS=“-fppermissive-m32”
-DCMAKE_CXX_LINKER_PREFERENCE=“-m32”
-DCMAKE_EXE_LINKER_FLAGS=“-m32”
-DCMAKE_SHARED_LINKER_FLAGS=“-m32”
因此,编译链接器后无法找到兼容的Qt库。错误如下:
/usr/bin/ld:在搜索-lQtWebKit时跳过不兼容的/usr/lib64/libQtWebKit.so
没关系。在/usr/lib64库中有x64平台。所需的库位于/usr/lib中,并且它们存在!但我不明白,为什么FindQt4不识别平台?这个脚本设置了以下变量:QT_LIBRARY_DIR、QT_LIBRARIES等等。这些变量设置为:
--QT\u LIBRARY\u DIR:/usr/lib64
--QT_库:优化/usr/lib64/libQtWebKit.so;调试/usr/lib64/libQtWebKit_debug.so;优化/usr/lib64/libQtXmlPatterns.so;调试/usr/lib64/libQtXmlPatterns_debug.so;优化/usr/lib64/libQtGui.so;调试/usr/lib64/libQtGui_debug.so;优化/usr/lib64/libQtNetwork.so;调试/usr/lib64/libQtNetwork_debug.so;优化/usr/lib64/libQtCore.so;调试/usr/lib64/libQtCore_debug.so
我的问题:为什么不使用/usr/lib?我如何修复它呢?可能是因为FindQt4模块对
-m32
标志一无所知
尝试显式设置
QT\u LIBRARY\u DIR
。我已经尝试过了。我先做了,但什么也没做=(在FindQt4脚本中,没有什么比CMAKE_SIZE_OF_VOID_文件说FindQt4使用qmake
程序从PATH
env-var检测所有其他内容。也许你有单独的qmake
用于32位和64位Qt?如果没有,我担心你除了手动设置Qt\u库之外别无选择。我们ll,你可以在库路径中手动将lib64
替换为lib
。有很多建议!我已经做了补丁,将lib64替换为lib(在变量QT_libraries
中)。但是我认为这不好。所以,每个人都知道没有什么比临时更无限的了