VS2019中安装OpenCV-4.5.2

1. 下载并安装OpenCV

官网地址:OpenCV下载

下载后打开,选择安装地址,直接安装即可

2. 配置系统环境

打开资源管理器,点击系统属性,将界面全屏

将界面全屏化后,点击右侧高级系统设置,配置环境

选择环境变量,然后在系统变量里面找到Path,点击编辑

新建后输入安装库的路径

X:\OpenCV\opencv\build\x64\vc15\bin
X:\OpenCV\opencv\build\x64\vc15\lib

**上面地址请自行更换到刚刚OpenCV的安装路径

3. VS2019项目配置

新建一个C++的空项目

设置项目名称,然后点击创建

解决方案里面,选择源文件

添加一个Cpp文件

最后文件目录如下所示

点击右下角有一个属性管理器,然后在**Debug x64下面选择Microsoft.Cpp.x64.user**并双击

这个操作是为了直接配置VS2019所有项目Debug|x64的编译条件,这样配置一次后就不用再配了 其他编译条件下操作相似,如果没有Microsoft.Cpp.x64.user,请看常见问题第一条 如果不想将配置永久保留,可以只在本次项目的属性,操作是点击项目->配置即可,接下来的操作一致

在双击打开来的界面里点击VC++目录,选择包含目录

点击后选择编辑

打开你的OpenCV安装路径下的build文件夹选择include和他的下级文件夹opencv2

将两个地址都复制进来,点击确定

X:\OpenCV\opencv\build\include
X:\OpenCV\opencv\build\include\opencv2

然后是选择库目录,选择编辑

相似的操作,将地址复制进去

X:\OpenCV\opencv\build\x64\vc15\lib

完成这两步操作后,不要忘记点击应用,然后下一步点击链接器的输入

附加依赖项里面点击编辑

打开OpenCV的安装目录,依次点击build->x64->vc15->lib,复制这个.lib后缀的文件名字进去就好

这里解释一下,后面的几个数字代表的是opencv的版本,所以不同版本会不一样,不必多虑 比如这里452代表OpenCV版本为4.5.2,如果是OpenCV其他版本,只需要修改dll的名字,例如:opencv版本为3.4.0,只需将dll名字改为opencv_world340d.lib即可。可以查看opencv\build\x64\vc15\lib目录,确认所修改版本名称。

带有d的是指Debug版本,没d的是Release版本,这里我们是配置**Debug x64**的版本,所以需要选择带d的,如果你想配置Release版本就选另外一个

然后复制进去

opencv_world452d.lib

点击确认,然后千万不要忘了点应用!

以上就配置完了,重启VS2019

4. 测试环境

确保环境正确,是**Debug x64**

在之前新建的函数中输入

#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
	Mat img = imread("X:\\CodeItem\\OpenCV\\test\\CV_test\\test.png");
	imshow("这是一张图片", img);
	waitKey(0);
	return 0;
}

点击开始执行,或者直接ctrl+F5

运行成功!

常见问题

没有Microsoft.Cpp.x64.user

那么你需要将一个叫MSBuild的文件夹放到C:\Users"你的用户名"\AppData\Local\Microsoft这个路径里面

这个文件夹我打包好了提取码:yqk5

如下图所示

然后重启VS2019就好了

找不到库函数

如果上面步骤没错,还是报一大堆错说找不到一堆库,建议检查一下系统环境配置项目配置,然后重新生成解决方案,还不行就直接删项目,新建一个项目再来一次,多半就好了.

运行报错找不到.dll文件

opencv\build\x64\vc15\bin目录下面的opencv_world452.dllopencv_world452d.dll文件复制到C:\Windows\SysWOW64文件夹下。 将opencv\build\x64\vc15\bin目录里面的opencv_videoio_ffmpeg452_64.dllopencv_world452d.dll文件复制到C:\Windows\System32文件夹里面。 如果是opencv其他的版本,把对应的.dll文件移动到上述两个C盘文件夹即可。如果报错找不到opencv_xxxxxxx.lib文件,就试试看把相关lib文件复制到C:\Windows\System32和C:\Windows\SysWOW64这两个文件夹里面。

无法解析的外部符号

编译模式和平台一定要与配置界面保持一致!我们配置的是**Debug X64**,这里不要设错,设错会出现无法解析的外部符号。

如果附加的依赖项中添加的是不带d的lib,这里就设Release,带d的设Debug,不同的编译环境是不能用一样的设置的!