当我尝试使用 2010 构建我的 VC++ 代码时,我收到了错误消息
> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.
请告诉如何克服这个?
当我尝试使用 2010 构建我的 VC++ 代码时,我收到了错误消息
> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.
请告诉如何克服这个?
通过以下方式之一导航Error List Tab
到 Visual StudiosOutput
文件夹:
Output
在底部的标准 VS 视图中选择选项卡View > Output
或Ctrl+Alt+O
Show output from <build>
应该选择哪里。
您可以通过分析输出日志了解更多信息。
就我而言,这是 Cmake 步骤中的错误,见下文。如其他答案中所述,它可以在任何构建步骤中。
> -- Build Type is debug
> CMake Error in CMakeLists.txt:
> A logical block opening on the line
> <path_to_file:line_number>
> is not closed.
error MSB6006: "cmd.exe"
退出代码-Solved
我也面临这个问题。在我的情况下,这是由于output exe
已经运行。我解决了我的问题,只需在构建之前关闭应用程序实例。
我今天有同样的问题,当我将一些 VC6 项目升级到 VC2012 时。
就我而言,这是因为 Custom Built Steps 中的某些操作失败了。在项目属性中,转到自定义构建步骤,您可以在命令行编辑框中看到一些内容。打开 Windows 提示符并将命令粘贴到其中。运行,检查是否有问题并修复它。
如果项目属性自定义构建步骤中没有命令行,也许您应该检查项目的每个文件的属性。
如果命令行有一些宏,请将其替换为实际值。
或者您可以在 VS 输出窗口中回显命令:
cd %(somedir)%
echo %(somedir)%
这样你就不会错过了。
我解决了这个问题。双击此错误会导致行为。
对于我的情况。调试和发布模式的错过匹配会杀死我的下午。
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(Filename)%(Extension) ..\..\cvd\
</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
</CustomBuild>
实际上只需删除构建(清理它),然后重新启动编译器,再次构建它,问题就解决了。
我也面临类似的问题。
我的源路径有一个带有“空格”的目录(D:/source 2012)。我通过删除空格(D:/source2012)解决了这个问题。
为了未来的读者。我的问题是我指定了一个不兼容的 openssl 库来通过 CMAKE 构建我的程序。项目已生成,但构建开始失败并出现此错误,没有任何其他有用信息或错误。详细的 cmake/编译日志也没有帮助。
我的经验教训是交叉检查不兼容性,以防您的程序依赖于任何其他第三方库。
简单而更好的解决方案:%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln 我制作了一个像 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe D这样的 bat 文件:\GESTION-SOMECOPA\GestionCommercial\GestionCommercial.sln 暂停
然后我可以看到所有错误并纠正它们。因为当您更改文件夹名称(如上所示没有空格)时,您将遇到另一个问题。Visual Studio 2015 在此之后工作正常。
另一种解决方案可能是,您从项目中删除了一个文件,只需在文件系统中删除它,而不是在项目中删除它。
当使用一个版本控制系统时,所有文件在签出之前都是只读的(如 Perforce),问题可能是您不小心将 VS 文件之一(例如过滤器)提交到此版本控制系统,因此文件在构建期间不能被覆盖。
只需转到您的工作目录并检查与 VS 解决方案相关的文件和临时创建的文件(例如 QT 中的所有 moc_ 和 ui_ 前缀文件)都不是只读的。