如何为并行构建生成pdb文件?

时间:2009-09-25 05:52:52

标签: visual-studio-2005 visual-c++ multiprocessing devenv

我们正在寻找解决使用Visual Studio 2005运行多个devenv.com时链接/ pdb生成问题的想法。

使用devenv.com进行并行构建时,我们遇到以下间歇性错误。 即当以下内容在同一个构建服务器上同时运行时:

devenv.com master.sln /build "Release|Win32" 
devenv.com master.sln /build "Debug|x64" 

fatal error LNK1318: Unexpected PDB error; RPC (23) '(0x000006BA)'
error C2471: cannot update program database 

我们想要pdb个文件,因此将它们关闭并不是一个选项。 串行运行构建不会导致问题,但当然会减慢构建过程。

到目前为止发现的参考文献表明

  • 存在文件名长度超过256个文件路径限制的问题,这似乎不是我们的问题,因为我们可以单独构建,路径+文件名长度大约是160个字符。
  • 增量构建存在问题(但主要在Visual Studio 2008中),我们关闭了增量链接。

如果可能,我们正在寻找解决此多重流程问题的意见。

我们如何解决?

2 个答案:

答案 0 :(得分:0)

尝试启用源代码并行构建。这将有效地使用服务器上的所有核心,除非您的解决方案中的核心数量多于源文件。以下是有关如何启用源代码并行构建的更多信息:http://vagus.wordpress.com/2008/02/15/source-level-parallel-build-in-visual-studio-2005/

答案 1 :(得分:0)

这可能是一个相关的问题和解决方案,因为它产生了

意外的PDB错误; RPC(23)'(0x000006BA)'

https://software.intel.com/en-us/articles/unexpected-pdb-error-rpc-23-0x000006ba/