Windows10下Opencv4+CMake+MinGW64安装教程

     本文章主要介绍基于Windows10下如何编译安装Opencv的过程,其中遇到过各种各样奇葩的Bugs,但最终在不断的尝试和分析搜索中完成了Opencv-MinGW开发环境的搭建,其主要目的是在没有安装搭建Visual Studio的情况下,基于VS Code对Opencv库的使用需求而做的开发环境,当然在这个过程中也对CMake相关编译调试过程有了进一步的深入了解,接下来我们开始正式进入主题:

一、基本材料准备

1. 预装Windows10系统PC一台

2. 下载最新版本Opencv4软件压缩包(opencv-4.2.0-vc14_vc15.exe)

3. 下载mingw64编译软件(tdm64-gcc-9.2.0)

4. 下载最新版本CMake软件(cmake-3.17.2-win64-x64.msi)

 上述资源如果下载非常慢,请移步我的下载地址:

Opencv4_2+Mingw64+CMake.7z

下载完成之后,分别解压并安装各软件,我习惯将软件一般安装在D盘当中,注意在安装过程中勾选mingw64的环境变量,并在安装完成之后手动添加环境变量:

Notice1:注意在安装mingw64的过程当中一定要选择安装mingw-64,如果不知道安装那些包,请直接选择Full Installation即可。

Notice2:如果在mingw安装过程中未选择添加环境变量请手动添加mingw相关环境变量至Path中,如下所示:

注意将mingw的其他文件夹也配置上去

Notice3:请注意,MinGW一定要是用的是MinGW64而不是MinGW,MinGW与MinGW64有着很大的区别,MinGW64是Cygwin的分支,其支持pthread的Linux多线程库,而对于MinGW则不支持,因此使用MinGW是无法编译通过的,出现mutex等结构体未定义等错误

二、开始编译安装Opencv程序

1. 首先以管理员模式打开CMD命令行,切换到Opencv目录下(Source旁边),并新建编译文件夹:

cd /d D:\opencv\
mkdir mingw_build

 

 2. 以管理员权限打开CMake软件,设置相关编译参数

 

 A. 在这里需要配置好opencv的源代码路径以及编译文件夹,点击Configure即可触发配置,第一次配置需要输入编译器类型以及Makefile类型:

 B. 由于我们使用的是MinGW的编译方式,需要生成的是MinGW Makefile,编译器由我们自己来指定-->Next:

 C. 点击Next之后,就需要我们选择C编译器以及C++编译器的绝对路径了(注意在安装mingw64的时的位置):

 D. 点击Finished,开始根据选项配置相关文件:

 注:在这里如果没有配置Opencv源文件中的ffmpeg文件,则会出现报错信息:opencv_ffmpeg.dll等下载失败

 解决办法如下:根据报错信息提供的相关文件的下载地址,手动下载相关文件到Opencv源代码的ffmpeg文件夹中,如下所示:

 Opencv4.2-ffmpeg点击下载

在这里开始配置编译选项,如下:

  •  ENABLE_PRECONPILED_HEADERS  取消勾选
  •  BUILD_opencv_ts                                  取消勾选
  •  WITH_CUDA                                          取消勾选

 配置完基本选项之后即可点击Generate开始生成MinGW Makefile

 E. 生成好Makefile之后,我们开始编译Opencv源代码

 注:在编译之前,需要在MinGW64-bin文件夹中添加libmingwex-0.dll文件(点击下载),在编译的过程中需要用到,否则编译失败,将文件放置在如下位置:

 

  接下来正式开始编译:

 

 F. 开始安装测试Opencv4.2

 1) 编译结果:

 2) 安装结果:

建立目标,准备安装

开始安装

 

 3) 测试Opencv-MinGW64编译结果

 Reference:

1. mingw-w64相关问题:https://www.cnblogs.com/goushibao/p/6673450.html#4581646

2. 编译OpenCV4.0时opencv_ffmpeg.dll下载失败解决思路:https://www.cnblogs.com/huluwa508/p/10142718.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章