opencv4.2+vs2019+cmake3.17.1+win10配置方法
不想自己编译的,我这里有编译好的,链接 ,提取码:ni0u,然后按照第三步配置即可。
一、cmake下载
直接官网下载zip
格式的绿色免安装版就好,解压后打开bin目录中的cmake-gui.exe
。
二、opencv编译
首先到opencv 官网下载opencv-4.2.0-vc14_vc15.exe
,然后解压,得到opencv
文件夹:
点进去,看到有两个目录,其中source
中的就是opencv的源码,而build
是官方提供的已经编译好的环境,包含opencv
相关的头文件和库文件等,如果你不打算安装opencv_contrib
扩展模块,那么直接看第三步就好。
先删去build
目录,重新再建一个空build目录。
在cmake
中填写如下:
然后点击左下角的configure
,弹出界面,点击Finish
,等待cmake
编译
编译完成后会爆红:
再次点击configure
,红色消失,但可以看到日志窗口报错,大意是相关文件没有下载下来,查看build
目录下的CMakeDownloadLog.txt
文件:
具体解释请参考这篇博客:
大意是说:从https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip
处下载文件到D:\Program Files (x86)\OpenCV\opencv4.2\opencv\sources\.cache\ippicv
处,但是由于网络等原因没有下载成功,所以我们要手动下载放到这里。
找到文件中的每个try
,上面都有一个https
网址,复制下来到浏览器中,下载缺失的文件。
下载完成后,将其复制到cmake_download
后面的位置处,这个目录下原本已有一个zip文件,不过大小是0kB
。这两个文件的后面部分是一样的,只不过我们下载的文件少了前面的一串字符—校验码,所以复制它的整个文件名,然后删除这个空zip文件,修改我们下载的文件名和它一样。
重复以上操作,将所有缺失的文件都下载下来,放到正确位置。
注意,下载这个文件的时候,在浏览器中打开网址后会直接打开了文件内容,要直接ctrl+s
保存网页,然后去掉后缀.txt
,不要图省事将内容复制到原来的空文件中:
所有文件都下载完毕后,再次点击cmake 中的configure。再去看看build
目录下的CMakeDownloadLog.txt
文件中有没有还需要下载的文件或者看cmake
下面的日志窗口中有没有报错信息。
如果没有,则在BUILD_opencv_world
和OPENCV_ENABLE_NONFREE
后的方框中打上√
,之后在OPENCV_EXTRA_MODULES_PATH
后面填上之前下载的opencv_contrib
中的modules
文件夹所在的全路径,注意路径分隔符是/
,记得修改。
然后点击generate
出现Generating done
,说明编译成功。再点击Open Project
,会打开vs2019
。或者先打开vs2019
,再打开build
下的OpenCV.sln
,也可以打开整个项目。
将这里改为debug X64
,然后如图所示,右键–>生成,需要漫长的等待。
最后会在build
目录下生成一个名为install
的文件夹,我们用来配置环境的所有文件都在这个文件夹中。
三、vs配置
先配置环境变量:系统变量Path中加入:D:\Program Files (x86)\OpenCV\opencv4.2\opencv\build\install\x64\vc16\bin
。
新建一个项目,将这里改为debug X64
,然后我们配置debug
模式。
视图—>其他窗口—>属性管理器,然后在Debug | x64
选项上右键添加新项目属性表,我这里添加了一个opencv_dubug.props
双击opencv_dubug
,弹出属性页界面:
- 在
VC++目录 ---> 包含目录
中添加如下两个路径(这里根据自己的路径添加):
D:\Program Files (x86)\OpenCV\opencv4.2\opencv\build\install\include
D:\Program Files (x86)\OpenCV\opencv4.2\opencv\build\install\include\opencv2
- 在
VC++目录 ---> 库目录
中添加如下路径(这里根据自己的路径添加):
D:\Program Files (x86)\OpenCV\opencv4.2\opencv\build\install\x64\vc16\lib
- 在
链接器--->输入中
添加opencv_world420d.lib
,420表示我们的opencv版本是4.2,420后面的d表示在Debug
下使用。注意后缀是.lib
,不要写错了,我之前写成了.dll
,结果报错找了好久。
同理,将这里改为release x64
,配置release
模式。
视图—>其他窗口—>属性管理器,然后在Release | x64
选项上右键添加新项目属性表:opencv_release
。
操作同上面的,除了这里:在链接器--->输入中
添加opencv_world420.lib
,注意少了d
。
配置完毕,两个模式都可以使用了,自己找段代码测试吧!
最后记得重启vs(如果不成功的话)。
(可以将opencv_dubug
和opencv_release
单独保存起来,以后如果新建了一个项目,就只需要打开视图—>其他窗口—>属性管理器,然后分别在Debug | x64
和Release | x64
选项上右键添加现有项目属性表即可,不必重复配置。)