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

Windows下OpenCV+Qt Creator+MinGW配置问题及解决方案咨询

问题分析与解决方案

这个问题确实很普遍,核心原因是OpenCV官方提供的预编译库默认是针对MSVC编译器构建的,而MinGW和MSVC的二进制接口(ABI)不兼容,直接混用就会出现这类"未定义引用"的链接错误。别担心,按照下面的步骤操作就能搞定:

1. 手动编译适配MinGW的OpenCV版本

这是最根本的解决方法,只有用相同的MinGW编译器编译出来的OpenCV库,才能和你的Qt MinGW项目完美兼容:

  • 先准备工具:下载OpenCV 3.7的源码包、CMake,以及你Qt Creator里用的MinGW 7.3.0 64位编译器
  • 打开CMake GUI,指定OpenCV源码路径和一个空的构建目录(比如D:/opencv-mingw-build)
  • 点击Configure,在弹出的编译器选择窗口里选Specify native compilers,分别指定MinGW的gcc.exe和g++.exe路径(比如D:/Qt/Tools/mingw730_64/bin/gcc.exe)
  • 配置时可以勾选BUILD_opencv_world(把所有OpenCV模块打包成一个库,后续链接更方便),如果需要和Qt集成,记得勾选WITH_QT并指定Qt的路径
  • 配置完成后点击Generate生成Makefile,打开Qt自带的MinGW终端,进入构建目录,执行mingw64-make -j8(-j后面的数字是你的CPU核心数,能加快编译速度),编译完成后再执行mingw64-make install,把编译好的库安装到指定目录

2. 配置Qt Creator项目文件

编译完成后,修改你的Qt项目.pro文件,添加OpenCV的头文件和库路径:

# 替换成你实际的OpenCV安装路径
INCLUDEPATH += D:/opencv-mingw-build/install/include
LIBS += -LD:/opencv-mingw-build/install/x64/mingw/lib \
        -lopencv_world370  # 370对应OpenCV3.7版本,编译出来的库名会带版本号

如果没勾选BUILD_opencv_world,就需要逐个链接你用到的模块库,比如-lopencv_core -lopencv_imgproc -lopencv_highgui等。

3. 检查编译器版本一致性

一定要保证:

  • 编译OpenCV用的MinGW,和Qt Creator中配置的MinGW Kit是同一个版本(都是7.3.0 64位)
  • 全程不要混用32位和64位工具链,确保所有组件都是64位的

4. 运行时动态库配置(可选)

把OpenCV安装目录下的bin文件夹(比如D:/opencv-mingw-build/install/x64/mingw/bin)添加到系统环境变量PATH里,这样运行程序时系统才能找到需要的动态库,避免启动报错。

按照这些步骤操作后,你的Qt MinGW项目应该就能正常链接OpenCV并编译运行了,我之前帮好几个开发者解决过完全一样的问题,亲测有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:57:45