无法解析的外部符号 LNK错误总结

Posted stephen-qin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法解析的外部符号 LNK错误总结相关的知识,希望对你有一定的参考价值。

错误分析:

这是在链接过程中的报错,之所以在这里报错,而没有在编译过程中报错,说明包含报错方法的.h文件已经被包含了,但对应的cpp文件或者库文件链接器没有找到,所以它就很委屈地报了这个错误.

那会有哪些可能的原因导致这个问题呢?

1.缺少对应的cpp文件(比如下图中,在main.cpp中,添加了.h文件,但是项目中没有对应的函数的实现文件.一开始我对LNK报错很抵触,因为它的报错信息看着太难受了.后来发现只需要看几个关键信息就可以了:是哪个obj文件下的,报错的函数名是什么)

技术图片

 

 2.缺少对应lib文件

  2.1 lib文件压根就没有添加或者路径错误(看下VS中的库目录有没有添加,或者在代码中搜索"#pragma comment(lib,  )")

  2.2 lib文件的版本对应不上 (这个有时候很难想到,比如当时用windbg的lib,VS里的环境是32位,自己没想太多把64位的lib路径添加进去)

以上是关于无法解析的外部符号 LNK错误总结的主要内容,如果未能解决你的问题,请参考以下文章

错误 LNK2019:无法解析的外部符号“extern”C”这是啥错误?

为啥错误 LNK2001:在这种情况下无法解析外部符号? [复制]

radial.o:错误 LNK2001:无法解析的外部符号 lambda_fatal 错误 LNK1120:8 个无法解析的外部,error.failed 退出状态为 1120

错误 LNK2001:未解析的外部符号 WINAPI [重复]

错误 1 error LNK2001: 无法解析的外部符号 _mainCRTStartup 错误 2 error LNK1120: 1 个无法解析的外部命

python setup.py安装错误LNK2019:函数致命错误LNK1120中引用的无法解析的外部符号fmin: