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

配置OpenCV与Qt时mingw32-make -j 8执行失败求助

错误原因与解决方案

错误核心

你遇到的是编译架构不匹配问题:生成的资源文件vs_version.rc.obj是32位(i386)架构,但你的编译目标是64位(i386:x86-64),导致链接器报错。

解决步骤

  • 彻底清理构建环境

    1. 删除当前的OpenCV构建目录(比如build文件夹),新建一个干净的空目录
    2. 打开CMake-GUI,点击「Delete Cache」清除所有旧配置,再重新指定源码路径和新的构建目录
  • 强制指定64位编译工具链

    1. 在CMake-GUI点击「Configure」时,选择「Specify native compilers」,然后手动指定:
      • C编译器:D:/qt/Tools/mingw1120_64/bin/gcc.exe
      • C++编译器:D:/qt/Tools/mingw1120_64/bin/g++.exe
    2. 配置完成后,检查以下变量是否正确:
      • CMAKE_SYSTEM_PROCESSOR = x86_64
      • CMAKE_CXX_COMPILER_TARGET = x86_64-w64-mingw32
    3. 找到并取消勾选ENABLE_WIN32_RESOURCES(部分OpenCV版本可能命名为BUILD_WITH_STATIC_CRT相关选项),避免生成32位资源文件
  • 指定MinGW的64位资源编译器
    在CMake的变量列表里,添加或修改CMAKE_RC_COMPILER,设置为D:/qt/Tools/mingw1120_64/bin/windres.exe,确保资源编译用的是64位工具

  • 重新执行编译命令
    点击CMake-GUI的「Generate」生成Makefile,进入构建目录后重新运行:

    mingw32-make -j 8
    mingw32-make install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:12:43