简体   繁体   English

Incredibuild和cmake

[英]Incredibuild and cmake

I'm trying to build a cmake solution using Incredibuild 5.0 on windows and get PDB management errors in a couple of projects: 我正在尝试使用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

I thought it might have been the order of .cpp files in the cmakefilelist, but that's not made any difference. 我认为它可能是cmakefilelist中的.cpp文件的顺序,但这没有任何区别。

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. 最受欢迎的是您有两个尝试访问同一PDB文件的不同项目。 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). 您只能通过IncrediBuild看到这一点的原因是因为IncrediBuild正在并行执行许多项目(当独立执行时,项目按顺序执行)。 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. 检测失败的项目并验证是否有另一个与此项目并行执行的项目,并将其PDB指向另一个PDB文件。 If this is not the case, let me know, there are other less common scenarios. 如果不是这种情况,请告诉我,还有其他不太常见的情况。

(Disclaimer: I'm an IncrediBuild employee) (免责声明:我是IncrediBuild的员工)

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. 当然,我们的构建系统试图将同一个库的32位和64位版本写入相同的文件名是一个问题。 Building serially hid the error, but parallel builds highlighted the problem. 构建串行隐藏错误,但并行构建突出显示了该问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM