【error LNK1104】【无法打开文件opencv_core345d.lib 解决思路】

本文详细介绍了在使用VisualStudio2017与OpenCV3进行计算机视觉研究时,遇到因OpenCV版本不一致导致的编译错误问题。文章对比了OpenCV2.x与3.x版本库文件的区别,提供了修改代码引用以适配新版OpenCV的具体步骤,并总结了不同场景下可能遇到的问题及解决策略。
部署运行你感兴趣的模型镜像

问题描述:
本人使用的是visual studio 2017+openCV 3,在做计算机视觉研究的时候,跑的论文代码是从别的大佬那边下载到的,也算是比较早之前的代码,版本用的是openCV 2.4。因此在运行代码的时候,首先报错的就是无法打开文件opencv_core345d.lib。(我已经给项目配置好了openCV的包含目录和库目录和附加依赖项)
代码中库引用参考下图:
在这里插入图片描述
问题在于openCV 2.x版本中,库目录是由多个库文件组成的,比如opencv_core245d.lib、opencv_imgproc245d.lib、opencv_highgui245d.lib等。所以在写代码的时候,需要将这些库文件一个个单独引入。但是在openCV 3.x中,这些库文件统一被整合进了opencv_worldxxxd.lib文件中。所以只有一个world的库。

解决方法就是只需要在代码中引入opencv_worldxxxd.lib这个文件就可以了。记得把旧版本的库文件引用注释掉。
如下图:
在这里插入图片描述
原来需要分别访问core、highgui等库文件中的函数,现在在world库文件中都可以直接访问到,因此代码上也不需要其他的修改操作。
emmm比喻的话呢,就相当于一盘盘不同的菜,变成了一锅大杂烩吧(\饿)

这里额外列举一下网上同类问题的不同解决方法:
1.有的人是同一个大版本的openCV,比如都是openCV 2.x这个版本的,但也报了这样的错,那就是在配置附加依赖项的时候,没注意版本号写错了(比如opencv_core249d.lib写成opencv_core245d.lib这样的错误),仔细检查一下配置路径和文件名就是了。
2.有的人是项目中,项目是有依赖关系的,子项目的一些文件是继承自父项目的,要跑子项目,那就先去检查下父项目都链接了些什么库,核对一下和自己用的openCV版本有没有出入。

【注意】编译有两种:Debug和Release,分别对应opencv_worldxxxd.lib和opencv_worldxxx.lib(后缀有无d来区分),对旧版本代码修改记得都修改清楚。

您可能感兴趣的与本文相关的镜像

PyTorch 2.8

PyTorch 2.8

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值