写在前面的话:
- 版权声明:本文为博主原创文章,转载请注明出处!
- 博主是一个小菜鸟,并且非常玻璃心!如果文中有什么问题,请友好地指出来,博主查证后会进行更正,啾咪~~
- 每篇文章都是博主现阶段的理解,如果理解的更深入的话,博主会不定时更新文章。
- 本文初次更新时间:2020.12.11,最后更新时间:2020.12.11
正文开始
1. 配置过程
1.1 下载安装OpenCV
点击进入【OpenCV官网】,选择Releases
。
Releases
页面下,选择OpenCV – 4.5.0
-> Windows
,等待下载完成。
双击安装包opencv-4.5.0-vc14_vc15.exe
(就是一个自解压程序),指定路径,进行安装(其实就是解压)。解压过程会自动创建opencv
文件夹,不需要自己创建,只要指定想要解压的位置就好了。
这里我指定的路径为D:\Software
:
解压过程:
完成后,所指定路径下多出了opencv
文件夹。可以看到D:\Software\opencv
文件夹内容如下:
这里,build
下放的是支持OpenCV使用的相关文件,sources
下放的是OpenCV的源代码以及相关文件。
1.2 配置环境变量
右击【此电脑】->【属性】->【高级系统设置】->【环境变量】,找到【系统变量】中的【Path】,点击【编辑】,添加路径D:\Software\opencv\build\x64\vc15
,即"你的安装目录"\opencv\build\x64\vc15
。
VS2019
使用vc15
版本(其他版本的VS和vc版本对应关系可以查阅官方文档)。
1.3 配置VS2019
强调:配置一次即可!!再次新建工程时不需要重新配置!!
打开 VS2019,【新建项目】->【空项目】:
填好内容,点击【创建】:
1.3.1 工程包含(include)目录配置
打开【属性管理器】,打开方法【菜单栏】->【视图】->【其他窗口】->【属性管理器】,如下:
对Debug | X64
进行配置,右击Microsoft.Cpp.x64.user
,点击【属性】。如果没有Microsoft.Cpp.x64.user
,查看本文章3.1 属性管理器中没有 Microsoft.Cpp.x64.user
。
添加包含目录
,路径为【通用属性】->【VC++目录】->【包含目录】,添加内容为:
D:\Software\opencv\build\include
D:\Software\opencv\build\include\opencv2
1.3.2 工程库(lib)目录配置
添加库目录
,路径为【通用属性】->【VC++目录】->【库目录】,添加内容为:
D:\Software\opencv\build\x64\vc15\lib
1.3.3 链接库配置
添加附加依赖项
,路径为【通用属性】->【链接器】->【输入】->【附加依赖项】,添加内容为:
opencv_world450d.lib
Note:
- 这里
450
代表OpenCV版本为4.5.0
,如果是OpenCV其他版本,只需要修改dll的名字,例如:opencv版本为3.4.0,只需将dll名字改为opencv_world340d.lib即可。可以查看D:\Software\opencv\build\x64\vc15\lib
目录,确认所修改版本名称。opencv_world450d.lib
(带d)表示Debug
,opencv_world450.lib
(不带d)表示Release
,由于我们是针对Debug | X64
进行配置,所以这里添加的是带有d
结尾的dll。
配置好之后最好重启一下VS2019
。
2. 测试配置结果
测试代码:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("test.jpg");
imshow("哈哈哈", img);
waitKey(0);
return 0;
}
注意: 编译模式和平台一定要与配置界面保持一致!我们配置的是Debug | X64
:
【Ctrl+Alt+F7】重新生成解决方案,【Ctrl+F5】运行。
运行结果:
成功撒花✿✿ヽ(°▽°)ノ✿
PS:之后新建的项目只要是采用Debug | X64
,就都可以直接用,不需要再次配置!!
3. 常见问题
3.1 属性管理器中没有 Microsoft.Cpp.x64.user
3.1.1 方法一(不推荐)
下载VS2017
,再次打开VS2019
就会出现Microsoft.Cpp.x64.user
,很麻烦,还占用很多空间,没必要。
3.1.2 方法二(推荐)
与方法一原理相同,在下载VS2017
时会自动在电脑上下载配置文件,而VS2019
并没有下载这个配置文件,所以只要找到有Microsoft.Cpp.x64.user
的电脑,并将相关配置文件复制到自己的电脑上即可。
具体操作:
- 找到目录
C:\Users\"你的用户名"\AppData\Local\Microsoft
(一般情况下不显示AppData
文件夹,需要在文件夹的查看选项中勾选隐藏的项目
使其可见)。 - 将别人电脑上的
MSBuild
文件夹复制到上述目录,如下:
附上网盘链接,可以直接下载解压使用:【链接】,提取码:yqk5
3.2 运行报错找不到.dll文件
若运行报错:找不到.dll
文件。
解决方法:
- 将
D:\Software\opencv\build\x64\vc15\bin
目录下面的opencv_world450.dll
和opencv_world450d.dll
文件复制到C:\Windows\SysWOW64
文件夹下。 - 将
D:\Software\opencv\build\x64\vc15\bin
目录里面的opencv_videoio_ffmpeg450_64.dll
和opencv_world450d.dll
文件复制到C:\Windows\System32
文件夹里面。
Note:如果是opencv其他的版本,把对应的.dll
文件移动到上述两个C盘文件夹即可。如果报错找不到opencv_xxxxxxx.lib
文件,就试试看把相关lib文件复制到C:\Windows\System32和C:\Windows\SysWOW64这两个文件夹里面。
3.3 无法解析的外部符号
编译模式和平台一定要与配置界面保持一致!我们配置的是Debug | X64
,这里不要设错,设错会出现无法解析的外部符号。
如果附加的依赖项
中添加的是不带d
的lib
,这里就设Release
,带d
的设Debug
。