4

我正在尝试在 Windows 上使用 Incredibuild 5.0 构建一个 cmake 解决方案,并在几个项目中出现 PDB 管理错误:

Fatal error:
    Failed to notify object at 0x06C150A0, class is TWaitObjectThread_Notify
    PDB Management: Internal Error: Cannot apply file changes while file is being closed: xxxxx.pdb

我认为这可能是 cmakefilelist 中 .cpp 文件的顺序,但这没有任何区别。

4

2 回答 2

7

有几件事会导致这种情况。最流行的一种是您有两个不同的项目试图访问同一个 PDB 文件。您仅在 IncrediBuild 中看到这一点的原因是,在 IncrediBuild 中,您的许多项目都是并行执行的(在独立时,项目是按顺序执行的)。检测失败的项目并验证您是否有另一个与该项目并行执行的项目,并将其 PDB 指向另一个 PDB 文件。如果不是这种情况,请告诉我,还有其他不太常见的情况。

(免责声明:我是 IncrediBuild 员工)

于 2014-05-25T15:01:07.123 回答
4

当然,我们的构建系统试图将同一库的 32 位和 64 位版本写入相同的文件名是一个问题。串行构建隐藏了错误,但并行构建突出了问题。

于 2014-04-14T10:44:51.383 回答