2010-05-03 58 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的緩衝區,當時它完全是炸彈。希望能幫助別人。