You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

64位系统执行mingw32-make遇架构兼容错误,求QT+OpenCV集成方案

解决OpenCV编译时架构不兼容错误

错误根源

编译生成的vs_version.rc.obj是32位(i386)架构,但你使用的是64位MinGW工具链,目标是生成64位程序,链接器因此报错架构不匹配。大概率是CMake配置阶段未正确指定64位目标,或是系统PATH中混入了32位资源编译器(rc.exe)。

解决步骤

1. 清理旧编译残留

删除openCV/opencv/release目录下所有文件,彻底清除旧的32位配置和编译产物。

2. 重新用CMake配置64位编译环境

打开CMake-GUI,按以下流程操作:

  • 指定OpenCV源码目录和新的编译目录(建议新建release_x64,避免和旧目录混淆)
  • 点击Configure,选择MinGW Makefiles,再勾选Specify native compilers
  • C编译器选择MinGW64下的gcc.exe(示例路径:D:/Qt/Tools/mingw1120_64/bin/gcc.exe)
  • C++编译器选择同目录下的g++.exe
  • 点击Finish启动配置,若出现红色选项,重复点击Configure直到红色消失
  • 确认CMAKE_BUILD_TYPE设为Release,CMAKE_SYSTEM_PROCESSOR设为x86_64
  • 点击Generate生成适配64位的Makefile

3. 修正系统PATH变量

检查系统环境变量PATH,只保留64位MinGW的bin目录(如D:/Qt/Tools/mingw1120_64/bin),删除所有32位MinGW或其他工具链的路径,防止调用错误版本的资源编译器。

4. 执行编译命令

进入新的编译目录,直接执行mingw32-make(MinGW64的编译命令确实是这个名称,无需找替代),可加-jN参数加速编译(N为CPU核心数,比如-j8)。

5. 集成到Qt项目

编译完成后,在Qt项目的.pro文件中添加OpenCV相关配置:

INCLUDEPATH += 你的OpenCV编译目录/include
LIBS += -L你的OpenCV编译目录/bin \
        -lopencv_core470 \
        -lopencv_imgproc470 \
        -lopencv_highgui470 \
        # 根据需求添加其他OpenCV库

最后将编译生成的bin目录下的DLL文件复制到Qt项目的运行目录中。

内容的提问来源于stack exchange,提问作者Leme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 09:37:15