VS2015报错LNK2019 无法解析的外部符号 “public: void __thiscall XXX...”

这篇博客主要介绍了在使用VS2015进行OpenCV编程时遇到的LNK2019错误,即无法解析的外部符号问题。作者通过检查并更新OpenCV版本、配置项目属性、验证库文件加载以及检查文件路径等步骤,成功解决了问题。关键步骤包括确认OpenCV版本匹配、正确设置项目属性中的包含目录、库目录和附加依赖项,以及检查系统环境变量和DLL文件位置。对于遇到类似问题的读者,这些方法提供了有效的排查思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VS2015报错LNK2019 无法解析的外部符号 “public: void __thiscall XXX…”

VS2015报错LNK2019 无法解析的外部符号 “public: void __thiscall XXX…”

程序所在环境:VS2015+Opencv,LNK2019 无法解析的外部符号报错原因排查。
别人的代码怎么也跑不通的各类原因排查,始终报错有无法解析的外部符号,实在是太头疼了。以下几个问题是参考了网络上的几种解决方案,整理得出的,最终成功地解决了我的报错,希望能对大家有所帮助。

1.opencv版本是否配置正确?

我原本使用的opencv版本为2.4.9,后来研究代码时,发现部分函数无法成功载入。查阅资料后发现,代码所用的opencv版本为3.0.0,所以需要重新配置项目属性。大家在跑别人的代码时,也要注意配置是否相同。

在VS中配置项目属性:【详情可搜索“如何在VS XX下配置OpenCV xxx”,网上会有很全的教程】
项目、属性、VC++目录、包含目录:
在这里插入图片描述
项目、属性、VC++目录、库目录:
在这里插入图片描述

项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
在这里插入图片描述
这一部分需要注意在debug情况下,添加的附加依赖项应该是最后一个字母有d的。

2.库文件是否成功加载?

虽然我们已经配置了相应的项目属性,但是仍然有可能存在无法成功载入库文件的情况。接下来我们从两个方面进行检查。
1.系统的环境变量是否正确配置?
此电脑、属性、高级系统设置、系统变量、path
在这里插入图片描述
2.若满足1仍无法解决,则尝试下述方法。

首先找到自己软件安装(解压)的路径openCV (安装(解压)目录\opencv\build\x64\vc12\bin)
把3个后缀是.dll 应用程序扩展复制到C:\Windows\System32中

注意:64位系统用户需要注意,32位的DLL文件放在【C:\Windows\SysWOW64】,64位的DLL文件放在“【C:\Windows\System32】

3.文件路径是否正确无误?

在读取图片时,若是输入的路径不正确,也可能导致上述报错。
检查存在文件路径的位置,并且尽可能保证路径中是符号/,检查是否有不该存在空格等符号。

以上就是我解决这一报错时用到的方法,希望也能对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值