2

在VS建立一个C++应用程序2010错误MSB6006:程序文件(x86)的MSBuild 微软: “CL.EXE” 与代码-1073741805

C使用时我得到以下编译错误退出。 Cpp \ v4.0 \ Platforms \ Win32 \ Microsoft.Cpp.Win32.Targets(153,5):错误MSB6006:用代码-1073741805退出的“CL.exe”。

我知道它有一些与财产设置有关,但我不太确定我应该做什么,有人可以告诉我该怎么做才能消除此错误?..提前致谢。

+0

我不认为你最近删除了一些移动存储(一个USB驱动器,手机,无论)*没有*“安全删除...”协议*第一*?只是好奇。 – WhozCraig 2014-10-20 06:17:06

+0

不是我所知道的.. :( – 2014-10-20 06:50:24

+1

不管是什么触发它,它都是编译器中的一个bug。编译器退出时带有非零的返回码,编译器没有错误信息是错误的 – 2014-10-20 09:35:01

回答

1

我在查找和报告编译器错误方面有很长的经验。

首先,MSBuild留下了一些包含用于调用CL.exe的实际命令行的文件。它还设置了环境变量,因此您可能需要查看/ v:d输出以查看要重现的实际步骤。无需MSBuild即可获取CL.exe以产生错误。

然后修剪出源文件中的东西,直到你得到一个仍然使编译器不起作用的小东西。我从底部开始删除东西。我删除了不再需要的#include;扩大底部,保持并继续。

保存每个“保存”,以便在杀死错误时退出。

然后,用MS记录事件。一旦他们得到适当的部门,然后确定它是一个编译器错误,他们将退还您的事件。我记得有MSDN订阅3分的东西;用它来使它滚动。

+0

我放弃了,这是令人讨厌的..而是我创建了一个新的解决方案,并再次添加所有的文件..它工作得很好.. :) – 2014-10-24 10:01:08

1

您可能已经导入了与您当前的构建环境不兼容的属性表。

尝试打开Property Manager并查看是否存在任何自定义属性表。

我刚刚遇到这个问题,从VS2010转移到VS2013,我有一些旧的Windows 8.1 SDK属性表。从命令行构建造成了这个错误,而在Visual Studio中构建却没有问题。

+0

这是正确的答案。尝试更改“平台工具集”,解决问题。 – dns 2015-05-03 22:32:00

相关问题