环境
Win10 64位 + Clion 2017.1 + cmake-3.10.0-win64-x64 + opencv3.3.1 + tmd-gcc (tdm64-1) 5.1.0 + git version 2.13.1.windows.2
文件准备
1.opencv-3.3.1-vc14.exe
2.opencv_contrib
3.mingw-w64-v5.0.3.zip
环境准备
安装好cmake
和tmd-gcc
,并把环境变量加到PATH
,使得cmd控制台下输入cmake
和gcc
都会有相应打印提示安装成功!
编译报错
windres.exe输入参数为空的样子 :
:\PROGRA~2\minGW\bin\windres.exe: invalid option – W
问题原因在cmake,cmake版本大于3.9会有这个问题,我的是3.8,没有这个问题,网上一个哥们说他的3.7也没有这个问题。
解决方法:
CMAKE中的ENABLE_PRECOMPILED_HEADERS
去掉勾选就这个了:
安装详细步骤
一.安装opencv3.3
双击下载好的opencv-3.3.1-vc14.exe,解压到E:\opencv331
目录下,并在opencv\source
同级目录下新建mingw-build
目录,供你存放编译好的文件。
二.下载opencv_contrib
克隆仓库:
git clone https://github.com/opencv/opencv_contrib.git
然后把opencv_contrib\modules
目录下的所有文件夹批量复制到E:\opencv331\opencv\sources\modules
目录下。
三.build构建
打开cmake-gui.exe,并把源代码目录设置为E:/opencv331/opencv/sources
,把存放二进制编译文件的目录设置为E:/opencv331/opencv/mingw-build
,然后点击左下角Configure
。
配置里面选第一项:MinGW Makefiles
。
第一次Configure完毕之后,列表呈现红色,并提示Configuring done
。
然后把CMAKE中的ENABLE_PRECOMPILED_HEADERS
去掉勾选,然后点击右上角remove Entry
,把ENABLE_PRECOMPILED_HEADERS
这行删掉。
再次点击Configure!直到所有列表变白,并提示Configuring done
。
注意:遇见红色之后再次点击两次Configure,等到所有列表变白,没有红色的时候才表示成功。
接下来点击Generate
,完成后会提示Generating done
。这一步也需要选中ENABLE_PRECOMPILED_HEADERS
,然后点击右上角remove Entry
,把ENABLE_PRECOMPILED_HEADERS
这行删掉。
四.编译
进入到目录E:\opencv331\opencv\mingw-build
,然后在此目录下右键git bash here
。或者win+r
打开cmd控制台,然后cd进入到E:\opencv331\opencv\mingw-build
目录。执行:
mingw32-make -j8 #以8线程进行编译
接下来就是漫长的等待,还有期待编译不要出错。
写在后面
这是一篇未完成的博客,笔者认为在Windows下配置opencv是一件很随缘的事情:即使配置完全正确,也无法保证100%成功。所以在这里建议各位coder转战linux,送上两篇博文参考:
1. Ubuntu下opencv3.3和opencv_contrib的编译安装
2. Win10下Clion配置opencv3