error LNK2019: 无法解析的外部符号
2016-07-26 00:00
190 查看
摘要: error LNK2019: 无法解析的外部符号
VC++项目过程中经常遇到无法解析的外部符号 link error 2019 这样的错误;很恼人~~~~~
出现这种情况一般是由于头文件中声明了函数或者类型;但是没有相关的实现源文件;通常情况是我们引入了第三方SDK的头文件,并在程序中使用(引用)了头文件中的函数或者类型;连接器却无法链接;
原因及解决方案:
第一种可能:第三方SDK一般以DLL文件的形式提供给我们,并提供相应的头文件及LIB文件;LIB文件是链接时需要的,它包含了DLL中函数的想关信息,因此我们只需要在项目添加对这些LIB的依赖既可;
在VS2008中点击项目-》右键-》属性-》配置属性-》链接器-》输入-》附加依赖项:将相关的lib文件加入到附加依赖项中;
第二种可能:我们调用的函数或者类型并未实现;此时我们只要自己建立对应的源文件,并实现这些函数即可;
实例:error LNK2019: unresolved external symbol "public: __thiscall Thread_updateCurrentDateTime::Thread_updateCurrentDateTime(void)"......referenced in function ......
原因:在类前面定义了类Thread_updateCurrentDateTime,但没有实现构造函数Thread_updateCurrentDateTime(void)
参考:http://blog.sina.com.cn/s/blog_4b0020f301012750.html
第三种可能:外部引用的基础库与当前所使用的基础库冲突(即同一基础库但版本不同);此时我们需要重新编译外部引用或者换掉基础库使用与外部引用相同版本的基础库;
注意:qt-opensource-windows-x86-vs2010-4.8.7.exe与qt-opensource-windows-x86-vs2008-4.8.7.exe虽然均为4.8.7版本,但仍然不能一起使用,即非完全相同的版本;
VC++项目过程中经常遇到无法解析的外部符号 link error 2019 这样的错误;很恼人~~~~~
出现这种情况一般是由于头文件中声明了函数或者类型;但是没有相关的实现源文件;通常情况是我们引入了第三方SDK的头文件,并在程序中使用(引用)了头文件中的函数或者类型;连接器却无法链接;
原因及解决方案:
第一种可能:第三方SDK一般以DLL文件的形式提供给我们,并提供相应的头文件及LIB文件;LIB文件是链接时需要的,它包含了DLL中函数的想关信息,因此我们只需要在项目添加对这些LIB的依赖既可;
在VS2008中点击项目-》右键-》属性-》配置属性-》链接器-》输入-》附加依赖项:将相关的lib文件加入到附加依赖项中;
第二种可能:我们调用的函数或者类型并未实现;此时我们只要自己建立对应的源文件,并实现这些函数即可;
实例:error LNK2019: unresolved external symbol "public: __thiscall Thread_updateCurrentDateTime::Thread_updateCurrentDateTime(void)"......referenced in function ......
原因:在类前面定义了类Thread_updateCurrentDateTime,但没有实现构造函数Thread_updateCurrentDateTime(void)
参考:http://blog.sina.com.cn/s/blog_4b0020f301012750.html
第三种可能:外部引用的基础库与当前所使用的基础库冲突(即同一基础库但版本不同);此时我们需要重新编译外部引用或者换掉基础库使用与外部引用相同版本的基础库;
注意:qt-opensource-windows-x86-vs2010-4.8.7.exe与qt-opensource-windows-x86-vs2008-4.8.7.exe虽然均为4.8.7版本,但仍然不能一起使用,即非完全相同的版本;
![](https://static.oschina.net/uploads/space/2016/1121/150110_dbH2_2650669.png)
相关文章推荐
- log4cplus vs 编译
- error LNK2019: unresolved external symbol
- vs2012误删moc文件解决方法
- Qt5 error LNK2019 无法解析的外部符号 解决办法
- IbeoSdk4.3.1使用问题【1】-- ibeosdk_VS2012.lib无法解析的外部符号
- 类模板编译时遇到的问题
- VS编程遇到error LNK2019: 无法解析的外部符号
- QT5 LNK2019 无法解析的外部符号
- C++常见错误调试LNK2019\LNK2001\LNK2005\error C2533\0xcdcdcd
- VS2015下解决:error LNK2019: 无法解析的外部符号 __iob_func
- LNK2019:win32下编写DLL,应用程序找不到DLL接口函数的一种情况
- cocos2d-x VS解决#include "cocos-ext.h"不能用 及extensions扩展函数导入问题
- error LNK2019: 无法解析的外部符号 "__declspec(dllimport)
- MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainC
- 项目生成出现问题:error LNK2019: 无法解析的外部符号 __imp___vsnprintf
- 链接器工具错误 LNK2019
- 解决PCL MLS : error LNK2019; error LNK2001 virtual MovingLeastSquares process performProcessing问题
- widget.obj:-1: error: LNK2019: unresolved external symbol "public: __cdecl
- C++ error LNK2019: 无法解析的外部符号 _WinMain(编译问题解决方法)
- 链接错误error LNK2019