c++ error LNK2001: 无法解析的外部符号

一、问题现象

在这里插入图片描述
error LNK2001:无法解析的外部符号 xxxxxx

二、解决方法

删除编译报错部分的临时文件,然后再编译 ok!
我编译项目中的一个dll报错,删除了以下文件,再重新编译就成功了
在这里插入图片描述

三、问题分析

  • 我应该是改了一些类或者函数的名字,or 新加或删除了一些代码,然后再编译就一直报这个错误

我用的是VS2017,我记得之前发生过类似问题 (因为dll版本不对),大概率是VS编译缓存机制的问题1

四、问题总结

出现此类问题的原因种类较多,总结如下:

  • 缓存问题:还可将报错部分从项目中排除,重新生成一次项目,然后包含在项目中,重新生成1
  • 编译问题:检查编译器版本、选项、宏、包含库路径等配置2
  • 编码问题:代码本身写的有问题3
  • 待补充…

  1. error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall LDRSUploadThread::qt_metacast(char const ↩︎ ↩︎

  2. LNK2001: 无法解析的外部符号的几种情况 ↩︎

  3. Error LNK2001 无法解析的外部符号 的几种情况及解决办法 ↩︎


版权声明:本文为qq_38204686原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。