链接器错误 2019 C++,VS2008

Posted

技术标签:

【中文标题】链接器错误 2019 C++,VS2008【英文标题】:Linker Error 2019 C++,VS2008 【发布时间】:2012-01-20 09:15:22 【问题描述】:

我正在使用 VS 2008。 我有 Library 5 Lib 文件

A.lib 库 C.lib D.lib E.lib

A.Lib 包含B,C,D,E的所有头文件

现在我正在尝试使用 A。 MFC 应用程序示例中的 Lib。

我已经在示例应用程序中包含了所有的 lib 文件,并且所有的设置,如代码生成,字符集对于所有项目都是相同的。我已经让 MFC 应用程序使用静态库。 我在 Lib A.lib(A.obj) 错误 LNK2019 中收到 Linker error 2019: unresolved external symbol "public: void __thiscall _Tables::reclaimIfPossible(....

这里reclaimIfPossible函数是在b.lib中实现的

【问题讨论】:

a.lib 中是否有任何名为 (.obj) 的内容引用了名为 publicvoid 的外部符号? (看起来问题被砍掉了。) @wallyk 更新了问题。 @Chris_vr:那么,该符号在某处是否有定义(不是声明)? @wallyk 是的 a.lib 参考 reclaimIfPossible 其中 b.lib. @wallyk 因为我正在添加包含函数 reclaimIfPossible 的 b.lib。这还不够 【参考方案1】:

您必须链接到所有库。

仅链接到 A.lib 只会为您提供 A.lib 中定义的方法的符号。如果 A.lib 中的任何内容使用其他库中的任何内容,您将得到未解析的外部符号。

【讨论】:

我在 MFC 应用程序中添加所有库 MFC 应用链接所有库 A、B、C、D、E。在 A.lib 项目中,我添加了 B、C、D、E 中使用的所有 .h 文件的包含路径。但 MFC 应用程序我没有包含 B、C、D、E 中使用的 .h 文件的路径。因为 A.lib 已经在这样做了

以上是关于链接器错误 2019 C++,VS2008的主要内容,如果未能解决你的问题,请参考以下文章

链接器错误VS 2013 [重复]

vs2008调试 Release(链接器来生成调试信息)

如何在 VS2019 的开发人员命令提示符中修复此链接器错误

Microsoft HPC Pack 2008 SDK 的链接器错误

VS2015链接错误一则

传递给类构造函数的 C++ 字符串 - 链接器错误