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相关推荐

  1. VC++常规错误之一:error LNK2019: 无法解析的外部符号 public: void __thiscall

    error LNK2019: 无法解析的外部符号 "public: void __thiscall 遇到这种情况原因有二个,简单点说: 其一:某个方法只是在.h里面声明,没有在cpp里面实现 ...

  2. error LNK2019: 无法解析的外部符号 public: void __thiscall

    错误信息: error LNK2019: 无法解析的外部符号 "public: void __thiscall CArcBall::setBounds(int,int)" (?se ...

  3. Angularjs常见错误原因及解决Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?

    错误信息如图所示,遇到这种注入失败的错误,一般是自己某个路径写错了,就像我的一样,其实浏览器已经为我提示了错误点,仔细观察后终于看出了端倪 <script src="../js/bas ...

  4. error LNK2019: 无法解析的外部符号 六处错误的纠正

    错误    18    error LNK2019: 无法解析的外部符号 "public: void __thiscall cv::FeatureDetector::detect(class ...

  5. c语言未解析的外部标志,“error LNK2019: 无法解析的外部符号”之分析

    最近在用VS2008或更高版本开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error ...

  6. mysql lnk2019_“error LNK2019: 无法解析的外部符号”之分析

    最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error LNK ...

  7. 使用DLL引起的error LNK2019: 无法解析的外部符号

    错误表现:****.obj:error LNK2019:无法解析的外部符号 _函数名,该符号在函数_函数名中被引用 错误原因:一般情况都是都是函数只找到声明但没有实现,或者是少了什么链接库 解决方法: ...

  8. “error LNK2019: 无法解析的外部符号”的几种可能原因

    1.前言 error LNK2019: 无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib. 笔记本重装了系统,有32Bit升到64Bit ...

  9. openssl+RSA加解密出现以下错误C++ error LNK2019: 无法解析的外部符号

    编译提示错误: 1>RSA.obj : error LNK2019: 无法解析的外部符号 BIO_new,函数 "void __cdecl GenerateRSAKey(class s ...

最新文章

  1. oracle以sysdba登陆,oracle 以SYSDBA身份登陆
  2. 基于GDI+用C#编写的.NET流程图控件开发周记(2011-08-05)
  3. fifo java_java – 如何保证ThreadPoolExecutor中的FIFO执行顺序
  4. 【Python】二维数据格式化
  5. 位运算判断奇偶数_基础拾遗:除了amp;和amp;amp;的区别,你还要知道位运算的这5个运算符...
  6. 北大新成果!首次成功地将CNN解码器用于代码生成 | 论文+代码
  7. 用Html5制作的一款数学教学程序Function Graphics(绘制函数图的程序)
  8. python aop编程_学习笔记: AOP面向切面编程和C#多种实现
  9. 新手干货:Vue - 事件修饰符
  10. excel 第六次人口普查_第六次全国人口普查表短表(标准版)
  11. java中final类调用_Java中final的使用
  12. JDK各个版本的特性分析|JDK7|JDK8|JDK9|JDK10|JDK11|JDK12|JDK13特性分析
  13. linux安装CUPS详细教程,CUPS介紹
  14. 如何解决pycharm下载库总是失败?
  15. 计算机死机代码怎么写,如何用代码让电脑死机
  16. web -- 背景图片及文字
  17. Type mismatch: inferred type is T but ViewModel was expected
  18. C语言中,求三个数中最大数
  19. 云计算--day07
  20. c语言引用性间接变量,c语言取地址和间接引用

热门文章

  1. 在线报表设计实战系列 – 制作动态列与静态列混排的报表(5)
  2. vsoce-video
  3. 项目演化系列--分布式锁
  4. ios创建自定义控件必须具备的三个方法
  5. 前端工作面试问题(上)---转
  6. bio nio aio区别_什么是BIO、NIO和AIO?
  7. https连接加载http资源
  8. 创建华丽 UI 的 7条规则 第一部分 (2019年更新)
  9. 初识Spring Boot
  10. [JLOI2014]松鼠的新家 倍增LCA+树上差分