LNK未解决的外部符号的错误是什么意思?

时间:2012-07-16 12:04:44

标签: linker-errors

任何人都可以帮我理解这个链接器错误? 如何通过读取此链接器错误找到确切的错误位置?

error LNK2019: unresolved external symbol "__declspec(dllimport) const Serialization::Serialization::IBufferWriter::`vftable'" (__imp_??_7IBufferWriter@Serialization@1@6B@) referenced in function "public: __thiscall Serialization::Serialization::IBufferWriter::IBufferWriter(class Utils::IBuffer &)" (??0IBufferWriter@Serialization@1@QAE@AAVIBuffer@Utils@@@Z)

2 个答案:

答案 0 :(得分:1)

我相信你是通过Visual Studio制作DLL的。 将__declspec(dllimport)更改为__declspec(dllexport)即可解决问题。 如果您通过宏定义定义它,请自行修改它。

答案 1 :(得分:0)

这意味着您缺少依赖项。假设Visual Studio,右键单击您的项目文件 - >属性 - >链接器 - >输入 - >附加依赖项 - >添加您需要的.lib文件。确保为Debug和Release版本执行此操作。

当您使用某些库时,首先需要包含必要的头文件以便编译器工作,然后您需要添加必要的.lib文件以便链接器正常工作。