如何使用外部pdb链接?

时间:2014-12-17 05:31:02

标签: visual-c++ linker pdb-files

在VS2012中,我静态链接到预编译的.lib,并且还需要使用该lib的.pdb文件进行调试。 如何告诉链接器应该使用该外部pdb文件?

1 个答案:

答案 0 :(得分:1)

如果使用/ ZI或/ Zi创建静态库(请参阅C / C ++的项目设置 - >常规 - >调试信息格式),则$(IntDir)vc $(PlatformToolsetVersion).pdb文件为创建。路径由/ Fd。

定义

使用静态库的链接器通常也引用此pdb文件。如果将可执行文件与静态库链接,并且链接器无法找到pdb文件,则应该得到如下错误

LNK4099:PDB' vc1xx.pdb'找不到' foo.lib(foo.obj)

所以你想要的是默认值。您可以打开详细链接以查看符号会发生什么。

Microsoft总是发布一个PDB文件,其静态库的命名方式与静态库相同。所以你找到了一个libcmt.lib和一个libcmt.pdb