本文主要是介绍C++ error LNK2019: 无法解析的外部符号 错误解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在实现类模板特例化的时候遇到一个问题,就是把类模板函数实现放到类的cpp文件中,然后在main函数中使用这个类的时候,就会出现无法解析的外部符号:函数名(xxxx)等错误,那么出现这个错误的原因是什么呢?
原因就是现在的编译里不支持模板函数的申明和实现分开,要像上面那样使用类成员函数,有以下两种方法
1. 在使用这个类的文件中包含#include“xxxx.cpp”
2.在类头文件末尾包含模板实现函数'#include"xxxx.cpp"
这两种方法都可以解决上面的问题。
下面我们来说下error2019会在什么时候出现?
1. 在使用动态库时候,没有包含相应的lib
解决方案:#pragma comment( lib,"xxxx.lib");
2.函数只进行了申明而没有进行定义
解决方案:为申明的函数添加函数实现
3.缺少.obj目标文件
解决方案:从新设置文件编译的路径,然后重新编译
这篇关于C++ error LNK2019: 无法解析的外部符号 错误解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!