生而自由

自由而无用的灵魂

Windows下使用mingw编译OpenCV 3.1

最近需要做一个摄像头相关的项目,Qt5本身在Windows下没法录像,又用Windows API来做库似乎又不太好,最后盯上了OpenCV,跨平台、各种图像算法、还支持摄像头。

既然用了,就干脆用最新的3.1了。把OpenCV下下来一解压就有include和bin目录,大喜过望,实在是见过的最易用的C/C++类库了,结果一用发现不对,既没有lib,dll也只有x64的。得,还是得自己编译。

下载CMake

下载链接: https://cmake.org/download/

然后把CMake的bin目录和Qt里面的mingw的bin目录(Qt5.4.0\Tools\mingw491_32\bin)加入环境变量中的Path即可。

设置CMake

1.设置源代码目录和目标目录

2.选择编译器

选择使用mingw,然后再选择到mingw\bin下面的gcc和g++即可。

《Windows下使用mingw编译OpenCV 3.1》

《Windows下使用mingw编译OpenCV 3.1》

3.设置选项

设置好后点Configure,肯定有一堆错误。

先把”python2″干掉,当然有这个需求的不用去,不过我早已安装了Python2.7并设置了环境变量,每次编译到97%时都是编译Python模块报错,所以还是去掉吧。

《Windows下使用mingw编译OpenCV 3.1》

再干掉”vtk”,当然有这个需求的要勾上,那就还需要设置vtk的库目录了。

然后勾上”WITH_QT”、”WITH_OPENGL”。

再点Configure,一般会报没有找到Qt的目录,设置即可:

《Windows下使用mingw编译OpenCV 3.1》

但这个设置完成后,再Configure还会有一个错,还需要设置Qt5OpenGL:

《Windows下使用mingw编译OpenCV 3.1》

最后再Configure一次,应该没问题了。

4.两个小插曲

Configure的过程中可能会发现有ffmpeg.dll下载不下来,原因是这个文件放在github上了,打开 “\3rdparty\ffmpeg\ffmpeg.cmake” 可以看到目标URL,自己想办法把它下下来,再自己做个本地服务器改写cmake里面的url即可。

另外很多文章里面都说要注释掉一句,”\cmake\OpenCVCompilerOptions.cmake” 文件里的这一行: “add _ extra _ compiler _ option(-Werror=non-virtual-dtor)”。 既然都说注释掉,看上去也只是关闭个编译警告,那就先注释了呗。

5.开始编译!

Configure没问题后,点击Generate生成MakeFile。然后再到目标目录执行mingw32-make即可开始编译。

6. Install

编译完成后,执行mingw32-make install即可,必要的包含文件和库会被提取到install目录下。当然,直接用编译目录下的文件也可以啦。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注