(一)MinGW-w64编译OpenCV-3.4.5

OpenCV-3.4.5的编译(MinGW-w64)

废话不多说,直接上地址:

  • MinGW-w64:https://sourceforge.net/projects/mingw-w64/files/
  • CMake : https://cmake.org/download/
  • OpenCV-3.4.5: https://github.com/opencv/opencv/tree/3.4.5
  • OpenCV-3.4.5_Contrib:https://github.com/opencv/opencv_contrib/tree/3.4.5

说明:

1、MinGW-w64编译器进入下载页面后下拉选择x86_64-posix-seh(64位系统适用,32位请选择i686-posix-sjlj),版本建议选择MinGW-W64 GCC-8.1.0,不要太往前,C++的一些新特性在旧的编译器里可能不适用,导致编译的时候会报错。还有就是一定要选择POSIX版本,下载win32版本编译的时候会让你怀疑人生。至于CMake,也是下载对应系统位数的包。下载压缩包(.zip)可以直接使用。
2、博主目前在Windows上面只编译成功过Opencv-4.0.1和OpenCV-3.4.5,其他版本的OpenCV没尝试过,在Github上面有一个CSDN博主会不定期的上传已经编译好的包供直接使用。他的blog里面还包含一些编译时候常见错误及处理办法,可供参考。
Portal:https://github.com/huihut/OpenCV-MinGW-Build

都下载完成后,就可开始编(zhe)译(teng)了。

首先,请新建一个build空目录。

(一)MinGW-w64编译OpenCV-3.4.5_第1张图片
目录结构

打开CMake目录,进入bin中打开cmake-gui.exe。


(一)MinGW-w64编译OpenCV-3.4.5_第2张图片
CMake1

第一项填源码目录,第二项填编译目录。然后点Configure。


(一)MinGW-w64编译OpenCV-3.4.5_第3张图片
CMake2

下拉菜单选择MinGW Makefiles。这一步需要提前配置MinGW-w64的环境变量,把编译器目录中bin子目录加入系统环境变量。(可以在cmd/powershell中输入gcc -v,有输出则配置环境变量成功。)

(一)MinGW-w64编译OpenCV-3.4.5_第4张图片
cmd输出

读条过程可能会有点长,因为需要联网下载一些东西。


(一)MinGW-w64编译OpenCV-3.4.5_第5张图片
CMake3
  • 配置完成后会出现一大堆红色的东西,这时在Search中输入extra会出现OPENCV_EXTRA_MODULES_PATH
    在Value中选择opencv_contrib-3.4.5目录下的modules子目录。

  • 清空Search,输入nonfree,勾选OPENCV_ENABLE_NONFREE

  • 清空Search,输入world,勾选BUILD_OPENCV_WORLD

  • 直到没有红色内容出现,点击Genearate,会在build目录中生成Makefile

  • 如果想要弄清楚每个NAME下面的参数是什么意思,可以去问百度或谷歌或CSDN或Stack Overflow。一般情况下只需要开启上面参数,当然如果想编译python和java版的小伙伴们一定要记着打开BUILD_opencv_pythonBUILD_JAVA,并确定python和java jdk已经在系统环境变量目录中。此外OpenCV支持和某些库混合编译,比如CUDATBB等,如果有需要编译这些内容务必勾选与之相关的项目。

    (一)MinGW-w64编译OpenCV-3.4.5_第6张图片
    Makefile

第二步,进入cmd/powershell。

  • cdbuild目录。
  • 输入mingw32-make,这里有个加快编译的办法,就是启动多线程编译,在这条指令后面加上-j(数字),数字多少代表线程多少。但请注意最好不要超过最大线程,不然编译时会报错。

等待编译完成。编译耗时取决于电脑配置和线程数量多少。


(一)MinGW-w64编译OpenCV-3.4.5_第7张图片
编译过程中
  • 这一步是最容易出现问题的地方,如果有很多报错而终止编译请检查编译器问题。(PS:不得已的情况下不要去修改源码,否则可能报更多的错。)

  • 出现了问题也不要着急,这个时候最重要的就是来杯饮品压压惊。然后当然是请教度娘或者google或者Stack OverFlow或者CSDN啦。


    (一)MinGW-w64编译OpenCV-3.4.5_第8张图片
    编译完成
  • 完成编译后,输入mingw32-make install,将OpenCV编译好的东西安装至build目录下install子目录中。

    (一)MinGW-w64编译OpenCV-3.4.5_第9张图片
    安装过程

  • install目录

    (一)MinGW-w64编译OpenCV-3.4.5_第10张图片
    install目录

至此编译工作完成。

如何链接呢,见下一篇文章吧。:)

你可能感兴趣的:((一)MinGW-w64编译OpenCV-3.4.5)