【opencv】配置VS2019+Oencv4.5.2环境时,遇到LNK2019、LNK1120报错

笔者用anaconda创建虚拟环境,然后在虚拟环境中安装Cmake+Opencv4.5.2,笔者之前手动配置过opencv环境,觉得比较麻烦,所有这一次选择anaconda来配置opencv所需环境。利用anaconda执行Cmakelists.txt生成工程项目后,运行测试代码:

#include "opencv2/opencv.hpp"
using namespace cv;
int main()
{
	Mat image = imread("E://test2.jpg",1);// Show stuff
	imshow("Original Image", image);
	// Wait until user press some key
	waitKey();
	return 0;
}

发现VS中报错:
在这里插入图片描述
LNK2019:严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 “void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class cv::debug_build_guard::_InputArray const &)” (?imshow@cv@@YAXAEBV? b a s i c s t r i n g @ D U ? basic_string@DU? basicstring@DU?char_traits@D@std@@V?$allocator@D@2@@std@@AEBV_InputArray@debug_build_guard@1@@Z),函数 main 中引用了该符号
LNK1120:严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1120 1 个无法解析的外部命令 Display

但是我选择release模式又能够运行,这时候我很迷,然后经过漫长的网上查阅资料发现一个解决方法:
(感谢https://blog.csdn.net/pengyouyou/article/details/83958181
然后我就查看了一下我项目的的依赖项:项目-》属性-》链接器-》输入-》添加依赖项
在这里插入图片描述
看了我的依赖项我就发现问题了,我的依赖项全是openv_***.lib结尾的,debug模式下应该需要添加opencv_***d.lib结尾的依赖项,debug模式下应该添加opencv_***.lib。这是我项目环境配置过程中的一个错误!!!!
然后我上网查了查资料,在依赖项中只添加opencv_world452d.lib即可(opencv_world452.lib和opencv_world452d.lib分别包含了release模式、debug模式下所有所需的依赖项)。所以我就将之前的opencv_***452.lib全部删除添加opencv_world452d.lib。
在这里插入图片描述
修改后依赖项如下:在这里插入图片描述
注意:opencv_world452d.lib和opencv_world452d.dll需要放在同一个目录一下

在这里插入图片描述

然后就能够成功运行了!!!!
补充:如果没有opencv_world452d.lib,去哪里找(452代表的版本号,如果是opencv3.4.1的话就需要opencv_world341.lib),参考https://blog.csdn.net/m0_37350758/article/details/82490904
笔者是先在opencv官网下载opencv-4.5.2-vc14_vc15.exe,然后安装,安装后在build文件夹里面可以找到opencv_world452d.lib和opencv_world452d.dll文件在这里插入图片描述

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值