2010-05-03 65 views
4

有没有人有任何线索,这可能意味着什么?这个C++编译错误是什么意思?

(ClCompile target) -> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB6006: "CL.exe" exited with code -1073741515. 

它建立在我的开发箱上,但由于我们的CI盒上的这个错误失败。它运行在.NET 3.5上。

任何帮助将不胜感激。

+0

看起来像cl崩溃(检查eventlog确认)。应用所有的altest VS补丁/服务包,不会帮助 - 重新安装。 – 2010-05-03 16:57:01

+3

参考:0xC0000135是STATUS_DLL_NOT_FOUND。 – avakar 2010-05-03 16:59:33

回答

6

看到这个Microsoft Feedback report。从文章:

错误definitley需要是一个更好的。它应该告诉你的是一个工具失败。这个问题最可能是你的盒子上没有Visual Studio 2008位。因此,当该项目重新定位到v90平台工具集(这是一组Visual Studio 2008工具;可以安装适用于Visual Studio 2008的Windows SDK的正确版本,我相信它是v6.0A)并且工具未安装,构建失败,因为找不到工具。

它重新定位到v90工具集的原因是因为它是与对应于v2.0 CLR的版本相匹配的编译器。

根据我们在当前周期中的位置,我们无法更改消息。但是,由于在这种情况下我们需要改进错误信息,所以我已经解决了延期问题,以便我们可以在下一个周期中看到这一点。

+0

我有Windows SDK的v7。有没有一种方法可以强制它使用它而不是v6.0A? – devlife 2010-05-03 19:31:34

+0

我有点困惑,为什么工具集没有默认v10,如果没有在vxproj文件中指定。没有默认情况下,我不会感到惊讶,但我收集默认值是为了向后兼容? – 2012-09-05 21:30:37

1

我知道这是一个老问题,但我过类似的崩溃绊倒:

1> C:\ Program Files文件(x86)的\的MSBuild \ Microsoft.Cpp \ V4.0 \平台\ Win32 \ Microsoft.Cpp.Win32.Targets(147,5):错误MSB6006:“CL.exe”退出,代码为-1073740777。

完全可重复且非常讨厌。就我而言,它似乎与我的客户使用的超长包含路径列表(超过16Kb的包含路径文本,几百个包含路径的搜索路径)有关,并且当我清理它并减小整体大小时,崩溃消失了。

因此,我的怀疑是微软在其编译器的某个地方有一个16Kb的缓冲区,当时它完全是炸弹。希望能帮助别人。