在Visual Studio 2003中指定PDB路径

Mic*_*zek 7 linker visual-studio pdb

在Visual Studio 2003中,如果我链接到没有相应PDB文件的库,我会收到警告:

foo.lib(bar.obj):警告LNK4099:找不到PDB'other.pdb'; 链接对象就像没有调试信息一样

如果PDB位于其原始构建位置,VS可以找到它们,以及它们是否位于当前构建目录中,但似乎就是这样.有没有办法告诉Visual Studio究竟应该在哪里寻找PDB?我有一个模糊的概念,一个符号服务器可能会工作,但这似乎是一个很大的开销; 我只是在寻找类似的东西link.exe /pdbpath c:\pdbs_are_right_here来添加搜索路径,比如/I添加一个包含路径.或者,除了当前目录和PDB写入的原始绝对路径之外,还有其他路径吗?

Ofe*_*lon 0

我相信相应 pdb 的路径嵌入在库本身中,您可以在库的构建开关处将其更改为 c:\pdbs_are_right_here (假设它们确实是您的而不是第三方的)。

对于 DLL,这意味着项目属性\链接器\调试\生成程序数据库文件。

对于静态库,默认名称在 VS2013 中是统一的('vc120.pdb'),但我认为这在 VS2015 中发生了变化,并且不知道 VS2003。无论如何,如果您在 VS2013\2012\2010 中工作,您也必须显式覆盖该名称。