Вопрос

I'm trying to build a cmake solution using Incredibuild 5.0 on windows and get PDB management errors in a couple of projects:

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

I thought it might have been the order of .cpp files in the cmakefilelist, but that's not made any difference.

Это было полезно?

Решение

There are several things that can cause this. The most popular one is that you have two different projects that are trying to access the same PDB file. The reason you are only seeing this with IncrediBuild is because with IncrediBuild many of your projects are being executed in parallel (when in standalone the projects are executed sequentially). Detect the project that fail and verify whether you have another project that executes in parallel to this one and direct it's PDB to another PDB file. If this is not the case, let me know, there are other less common scenarios.

(Disclaimer: I'm an IncrediBuild employee)

Другие советы

Of course, it was a problem with our build system trying to write 32- and 64-bit versions of the same library to the same filename. Building serially hid the error, but parallel builds highlighted the problem.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top