Visual Studio 2010 无法打开 .ilk 文件

Visual Studio 2010 cannot open .ilk file

提问人:BabaSvoloch 提问时间:3/17/2016 最后编辑:valianoBabaSvoloch 更新时间:8/17/2017 访问量:2037

问:

我正在尝试在 VS2010 中构建一个 C++ 程序,遇到了一个我以前从未见过的错误。

链接:致命错误LNK1104:无法打开文件 C:...\Debug\labfour.ilk

我搜索了解决方案,但找不到无法打开.ilk文件的Visual Studio链接器的任何其他实例。有谁知道为什么会发生这样的事情?我想知道是否有类似于错误的解决方案,您必须调整解决方案资源管理器属性中的某些设置。cannot find or open the PDB file

任何见解将不胜感激,谢谢。

visual-studio-2010 器错误 增量链接

评论


答:

6赞 zeromus 3/17/2016 #1

根据我的经验,这是两件事之一:

  1. .ilk 文件已损坏。只需清洁和重建;如果这不能清除 .ilk 文件,请自己捶打它。我认为,如果版本被取消,这个文件很容易被破坏。

  2. 你正在生成两个配置为写入同一 .ilk 文件的项目,或者使用增量链接(链接器>常规>启用增量链接)+ /MP(C/C++>常规/多处理器编译)。这可能会间歇性地失败,有时当它失败时,它可能会破坏 .ilk 文件。不过,我对这种情况不太有信心。

评论

1赞 Bruce Dawson 12/16/2016
谢谢。你的第二种理论对 crbug.com/673521 来说是正确的。我们有一个跟踪.dll目标和一个跟踪服务目标。VC++ 链接器对两个目标都使用了 tracing.ilk,这意味着生成中存在争用条件 - 如果两个链接重叠,则其中一个链接将失败,因为它无法打开 .ilk 文件,因为它已经打开。
0赞 sɐunıɔןɐqɐp 2/7/2020
如果将具有相同名称的 DLL 和 EXE 生成到同一目标目录,则可能会发生第二种情况。两个项目的 ILK 文件具有相同的名称,如果项目生成并行进行,则其中一个项目将失败。