链接器错误 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) 的内容引用了名为public
或 void
的外部符号? (看起来问题被砍掉了。)
@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的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VS2019 的开发人员命令提示符中修复此链接器错误