MinGW32+CMake+with Qt 编译OpenCV 3.4.2 的一些心得~

本文详细介绍了如何从源码编译 OpenCV 3.4.2 版本,并针对 Windows 7 环境下可能出现的问题提供了解决方案。包括 CMake 配置、编译选项选择、源码修改等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近,因为项目需要使用OpenCV,所以自己按照需要编译OpenCV目前最新版3.4.2,折腾了一天多才最终搞定,在这里记录下编译过程需要注意的一些问题。

    首先是各软件版本:

    1、OpenCV 3.4.2

    2、CMake 3.12.1

    3、Qt 5.11.1

    4、MinGW 32 使用的是Qt按照的版本

    5、系统是Windows 7

    上述软件的下载安装就不赘述了,大家都很熟练的~

    下面是编译注意事项:   

    1、添加 MinGW 到环境变量
         为系统变量 Path 添加MinGW路径,俺的是 C:\Qt\Qt5.11.1\Tools\mingw530_32\bin

    2、使用 CMake 生成 OpenCV 的 Makefile:
          1)打开 cmake-gui,设置源码和生成路径(根据各自实际情况设置):
                  ⦁ Where is the source code: E:\OpenCV-3.4.2\sources
                  ⦁ Where to build the binaries: E:\OpenCV-3.4.2\build

          2)点击 Configure,设置编译器:
                 ⦁ Specify the generator for this project: MinGW Makefiles
                 ⦁ Specify native compilers
                 然后:
                 ⦁ Compilers C:      C:\Qt\Qt5.11.1\Tools\mingw530_32\bin\gcc.exe
                 ⦁ Compilers C++:  C:\Qt\Qt5.11.1\Tools\mingw530_32\bin\g++.exe
          最后点:Finish

     3、编译配置:
         ⦁ 勾选 WITH_OPENGL
         ⦁ 勾选 WITH_QT
         ⦁ 勾选 WITH_OPENMP(用于并行计算)
         ⦁ 勾选 ENABLE_CXX11


         ⦁ 不勾选 ENABLE_PRECOMPILED_HEADERS
         ⦁ 不勾选 WITH_IPP
         ⦁ 不勾选 WITH_TBB(OpenCV-3.4.2版本出现的问题,之前的版本需要看情况)
         ⦁ 不勾选 WITH_MSMF(同上,第一天俺就在折腾这个)

         因为俺不需要Java和python支持,所以这两个俺全取消了 :)

    
         点击 Configure,Generate 生成 Makefile

     4、在下面正式编译前还得处理一个源程序内容
         修改\modules\videoio\src\cap_dshow.cpp文件,

         在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE,如:
         #define NO_DSHOW_STRSAFE
         #include "DShow.h"

      5、编译 OpenCV:
           在build目录空白处 shift+右键,在此处打开命令窗口
           打开终端进行编译:mingw32-make (没有设置设置变量的话需要敲全目录你懂的)

           可打开多进程:mingw32-make -j4(俺的机器是4核)
           该过程在俺这里大概半小时,希望你的机器能飞快!

       6、装载OpenCV:
           上述编译过程完成后,如果没有错误,那么恭喜你,你成功了!

            那么就进行最后一步装载吧:mingw32-make install
            该命令会将编译后生成的头文件及动态库文件复制到目录:“\install”。该目录包括运行OpenCV程序所需要的全部资源。

 

这就齐活了,要是编译中发现什么问题,请自行度之,因为每个人遇到的问题可能都不一样~

最后是放福利:

1、懒人福利,编译好的全套库文件(点击下载OpenCV342库文件

2、这里也做了一个演示程序(点击下载演示程序)内有小福利:)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值