VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 public: void __thiscall
VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 "public: void __thiscall
出现这个错误,应该首先查看“#include”语句是否包含,或者是否包含正确。符号无法解析意味着编译器知道有这个符号存在,也就是有声明,但在链接时,找不到实现代码,那么就去看看报错的这个函数有没有实现代码。如果它们的确已经有了,还是出现这个错误,就把它们重新编译一下。
根据个人遇到这个错误时的记录,原因可以分为一下几种:
原因一:只是在.h里面声明了某个方法,没有在cpp里面实现。
具体讲,有时候在头文件中声明了需要的方法,确实忘记了在源文件中实现;
有时候在头文件中声明了需要的方法,在源文件中实现了该方法,但是却遗留了方法名前的“classname::”;
有时候在头文件中声明并实现了需要的方法,但是在代码调整时直接把方法copy到源文件时,并没有在函数前加“classname::”;
原因二:声明和实现都有了,但是没有添加到vs的project目录下面,这时候如果在其他.cpp中引用的,就会出现这个错误。
具体讲,导入自己以前的代码或其他现有代码时,复制到工程下目标文件夹后,有时候会在vs的project目录下忘记或遗漏添加这些文件,就可能引起这个错误。
原因三:有时候工程比较大时,会直接加入一些原有的基础工程来提交效率,如果对原有工程不太熟悉,在工程中加入了有相同名字的文件或者类时,同样会引起这个问题。
这种情况下的具体原因是编译时会出现相同名字的中间文件,因为编译有先后顺序,出现了文件替换,在其他文件引用被替换掉的文件时,导致最后会出现了个连接问题。
原因四:内联函数相关,如果内联函数的声明在头文件中,实现在源文件中,这时候如果其他类中只是包含了头文件,在调用这个内联函数时也会出现这个问题。此时把函数实现放到头文件中,或者把.cpp也include进来,就可以解决问题。
原因五:如果这个类是动态库中定义的类,可能是因为没有把这个动态库对应的.lib文件加到工程中。
VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 public: void __thiscall相关推荐
- VC++常规错误之一:error LNK2019: 无法解析的外部符号 public: void __thiscall
error LNK2019: 无法解析的外部符号 "public: void __thiscall 遇到这种情况原因有二个,简单点说: 其一:某个方法只是在.h里面声明,没有在cpp里面实现 ...
- error LNK2019: 无法解析的外部符号 public: void __thiscall
错误信息: error LNK2019: 无法解析的外部符号 "public: void __thiscall CArcBall::setBounds(int,int)" (?se ...
- Angularjs常见错误原因及解决Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?
错误信息如图所示,遇到这种注入失败的错误,一般是自己某个路径写错了,就像我的一样,其实浏览器已经为我提示了错误点,仔细观察后终于看出了端倪 <script src="../js/bas ...
- error LNK2019: 无法解析的外部符号 六处错误的纠正
错误 18 error LNK2019: 无法解析的外部符号 "public: void __thiscall cv::FeatureDetector::detect(class ...
- c语言未解析的外部标志,“error LNK2019: 无法解析的外部符号”之分析
最近在用VS2008或更高版本开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error ...
- mysql lnk2019_“error LNK2019: 无法解析的外部符号”之分析
最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error LNK ...
- 使用DLL引起的error LNK2019: 无法解析的外部符号
错误表现:****.obj:error LNK2019:无法解析的外部符号 _函数名,该符号在函数_函数名中被引用 错误原因:一般情况都是都是函数只找到声明但没有实现,或者是少了什么链接库 解决方法: ...
- “error LNK2019: 无法解析的外部符号”的几种可能原因
1.前言 error LNK2019: 无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib. 笔记本重装了系统,有32Bit升到64Bit ...
- openssl+RSA加解密出现以下错误C++ error LNK2019: 无法解析的外部符号
编译提示错误: 1>RSA.obj : error LNK2019: 无法解析的外部符号 BIO_new,函数 "void __cdecl GenerateRSAKey(class s ...
最新文章
- 一个Bug,让我发现了Java界的.AJ(锥)!
- iPhone音频播放后台控制
- php 读取 linux 文件,PHP读取大文件,linux读取日志
- 【专场福利Part2】从多维度出发 保障提升实时音视频质量
- Navicat Report Viewer 如何连接到 MySQL 数据库
- adk linux 64 下载,Homekit HomeKit开源ADK是HomeKit配件开发包的一个开源版本 - 下载 - 搜珍网...
- 地理空间数据Geometry在MySQL中使用(一)
- 金山云肖江:5G+AIoT为智慧社区建设插上翅膀
- python是什么-Python 简介
- MAC上mmap()的参数问题
- Day83.尚好房 — 用户管理— Hplus(UI框架)、Layer(弹出层框架)、增删改查、分页组件 :分页查询
- 信息安全实验二、漏洞扫描与病毒防治
- python优化网站_小旋风网站优化 - 致力于Python高品质站群系统的产品研发
- [Kattis-crisscrosscables] Criss-Cross Cables (贪心+优先队列)
- leetcode【中等】781、森林中的兔子
- kylin安装以及遇见到的一些问题和解决方法
- 医院信息系统源码 HIS源码
- PMP之相关方登记册、相关方参与计划与沟通管理计划的区别
- JavaWeb实现裁剪图片上传完整代码
- 政府民航行业双获嘉奖,永洪科技做好行业数字化转型伙伴