包括.pdb文件与图书管理员在Visual Studio

Including .pdb files with librarian in Visual Studio

本文关键字:管理员 Visual Studio pdb 文件 包括      更新时间:2023-10-16

我有一个项目,其输出是一个库(.lib)。该项目依赖于第三方库(也是.lib)。为了避免在我的库上构建的项目不得不担心这个第三方依赖,我已经使用图书管理员将其包含在我的库中(项目属性>图书管理员>常规>附加依赖)。

然而,当我构建一个单独的可执行项目链接到我的库时,我得到一堆警告,沿着以下行:

MyProject.lib(someThirdPartyObjectFile.obj): warning LNK4099: PDB 'vc110。'MyProject.lib(someThirdPartyObjectFile.obj)'或'vc110.pdb'中找不到pdb';链接对象,如果没有调试信息

这意味着(我假设)我将能够调试属于我的库的任何代码,但不属于第三方库。

我如何指示Visual Studio也包括第三方库的PDB在我的内容?

静态库可能已被移动,因此编译器无法从中找到符号。您有几个选项:

  • 将调试格式更改为/Z7,将调试信息嵌入代码中(而/Zi/ZI将其放在单独的文件中)。
  • 更改pdb文件的输出配置(VS2005是Settings > C++ > Output Files > Program Database File Name,可能与VS2010相似)。

您可以在这里和这里找到更多信息。

进入属性页(Alt+F7)链接器,所有选项,生成调试信息设置为No Position