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

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