从VC6切换到VS2005后链接器问题(LNK4099)

时间:2009-03-19 01:36:44

标签: visual-c++ visual-studio-2005 linker vc6 environment

我将我的一个旧项目移植到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文件..

由于

4 个答案:

答案 0 :(得分:4)

你的.lib中有一个.obj,里面有调试信息;调试信息有一个指向vc60.pdb的链接。如果.lib是您自己的,则需要重新编译源并重新生成.lib文件以更新该引用。如果.lib不是你的,你将不得不忽略这个警告,并且无法调试到该特定目标文件的源。

答案 1 :(得分:1)

VS2005通常不应该查找vc60.pdb,尤其是在完全重建之后。

也许你有一些第三方库没有重新编译,仍然包含对旧调试信息的引用?

答案 2 :(得分:0)

通常会创建.pdb文件类型以进行调试。根据我在.pdb文件类型中找到的一些信息,它说“此文件包含在调试模式下执行程序时使用的调试信息”。

我看到,如果你没有错误,你只会得到一个警告而不是程序应该运行的错误。

我相信您需要此文件的唯一时间是进行调试或分析。通常,在最终构建中使用发布设置以最快地执行程序。希望这有助于。

答案 3 :(得分:0)

可能是一些用VS2005编译的.lib文件。

您需要重新编译一切