我将我的一个旧项目移植到 VS2005 并出现链接器警告,例如
xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info
现在,我尝试重建项目,但警告不会消失。它真的应该在寻找 vc60.pdb 而不是 vc80.pdb 吗?我确实有 vc80.pdb 文件..
谢谢
我将我的一个旧项目移植到 VS2005 并出现链接器警告,例如
xxxxx.lib(xxxxxxxx.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with ...; linking object as if no debug info
现在,我尝试重建项目,但警告不会消失。它真的应该在寻找 vc60.pdb 而不是 vc80.pdb 吗?我确实有 vc80.pdb 文件..
谢谢
您有一个 .obj 链接到您的 .lib 中,其中包含调试信息;该调试信息具有指向 vc60.pdb 的链接。如果 .lib 是您自己的,则需要重新编译源代码并重建 .lib 文件以更新该引用。如果 .lib 不是您的,您将不得不忽略此警告,并且无法调试到该特定目标文件的源代码。
VS2005 通常不应该寻找 vc60.pdb,尤其是在完全重建之后。
也许您有一些第三方库没有重新编译并且仍然包含对旧调试信息的引用?
通常为调试目的创建 .pdb 文件类型。根据我在 .pdb 文件类型上找到的一些信息,它显示“此文件包含在调试模式下执行程序时使用的调试信息”。
我看到如果您遇到零错误,您只会收到警告而不是程序应该运行的错误。
我相信您需要此文件的唯一时间是用于调试或分析。通常在最终构建中使用发布设置以获得程序的最快执行。希望这可以帮助。
它可能是一些用 VS2005 编译的 .lib 文件。
你需要重新编译EVERYTHING。