这是我第一次在号称宇宙最强的IDE Visual Studio上调用非标准库编译C++
程序,中间遇到了很多的报错,让我怀疑人生。
首先,我们需要从Sourceforge下载OpenCV, 目前最新版是4.5.2
下载的exe文件双击之后会出现解压界面
解压缩后得到如下文件
我们需要依次系统属性->高级->环境变量,找到并设置设置环境变量Path
如果不在环境变量中设置opencv中的bin路径,会出现如下报错 【由于找不到opencv_world452d.dll, 无法继续执行代码】
在Visual Studio 2019中使用OpenCV构建项目的流程如下
第一步:新建一个C++的控制台项目。
第二步:配置项目的项目名称,例如opencv-test
创建项目之后,先将Debug 改为x64,因为后续构建的是x64的项目。
第三步:为了能让代码正常运行,我们需要配置这个OpenCV项目的所需的include和library路径,以及依赖的lib文件。
在菜单栏的项目(P)中选择属性(P)
选择VC++目录(VC++ Directories)的包含目录(Include Directories),点击编辑
添加opencv的include的路径(头文件)
同样的操作,也用于库目录(Library Directories)的设置
添加library路径(路径比较深)
检查下,刚刚修改的include和library
此外还需要增加一个包括所有模块的lib文件。选择链接器(linker)中的输入(input), 接着编辑附加依赖项
添加opencv_world452d.lib,该文件包括opencv里的所有模块(lib文件和opencv版本有关,可从lib目录中确认)。
如果不设置该变量,会出现【无法解析外部符号】的报错
如果写错成 opencv_world452d.dll,就会出现【 LNK1104 无法打开文件”opencv_world452d.dll”】报错(之所以写成dll,是因为之前出现的dll找不到报错,导致我以为增加的是这个文件)。
如下是测试代码
1 |
|
能正常出图表示能正确在项目中调用OpenCV。
参考资料: