ZBLOG

:-1: error: skipping incompatible /home/xxt/Desktop/qt/ImageSystem_bak/lib/opencv//libopencv_core.so when searching for -lopencv_core

这个错误信息表明 Qt 在链接过程中找到了一个不兼容的 OpenCV 库版本。常见的原因包括库的编译架构与项目使用的架构不一致(例如,你可能在 64 位系统上使用了 32 位库,或者反之)。

解决方法

  1. 检查库的位数

    • 确保你所使用的 OpenCV 库和你的 Qt 项目是相同位数(都为 32 位或都为 64 位)。可以通过运行以下命令来检查库文件的信息:
      
      file /home/xxt/Desktop/qt/ImageSystem_bak/lib/opencv/libopencv_core.so
      
    • 输出应该会显示该库是 32 位还是 64 位。
  2. 重新编译 OpenCV

    • 如果发现库位数不匹配,可以考虑重新编译 OpenCV,确保它与你当前的开发环境(Qt、GCC 等)的位数一致。在编译时,请确认 CMake 配置中设置正确。
  3. 查找正确的 OpenCV 库

    • 确保在你的 .pro 文件中指定了正确路径下的 OpenCV 库。如果有多个 OpenCV 安装,可以通过如下方式找到合适版本:
      
      pkg-config --cflags --libs opencv4
      
    • 根据输出调整 .pro 文件中的 LIBSINCLUDEPATH
  4. 使用环境变量

    • 设置环境变量来确保系统能找到正确版本的 OpenCV。
    export LD_LIBRARY_PATH=/path/to/correct/opencv/lib:$LD_LIBRARY_PATH
    
  5. 清理和重建项目

    • 清理 Qt 项目的构建目录,并确保之前所有旧文件被移除,然后重新进行构建,以防止旧缓存导致问题。
  6. 检查Qt配置:

    • 在某些情况下,Qt Creator 的 Kits 配置可能也需要调整,确保选择的是对应位数的平台配置。

如果以上步骤无法解决问题,请提供更多详细信息,包括你当前使用的操作系统、OpenCV 和 Qt 的具体版本等,以便进一步诊断。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20540

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?