【问题标题】:error MSB6006: "cmd.exe" exited with code 1错误 MSB6006:“cmd.exe”以代码 1 退出
【发布时间】:2012-10-18 14:37:18
【问题描述】:

当我尝试使用 2010 构建我的 VC++ 代码时,我收到了错误消息

> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.

请告诉如何克服这个问题?

【问题讨论】:

  • 有大量来自 Google 搜索 error MSB6006: “cmd.exe” exited with code 1 的结果——您能分享一下您的研究结果吗?
  • 修复您的构建前/构建后事件脚本。
  • 获得error MSB6006: "LC.exe" exited with code -1,我通过简单地删除 licenses.licx 文件的 content 解决了这个问题。
  • 我在运行 cmake 时遇到了这个问题。通读 cmake 日志文件,我发现一个奇怪的路径与不相关的软件发生冲突。我卸载了不相关的软件,cmake成功了。

标签: visual-studio-2010 build compiler-errors


【解决方案1】:

我今天在升级一些 VC6 项目到 VC2012 时遇到了同样的问题。

就我而言,这是因为自定义构建步骤中的某些操作失败。 在项目属性中,转到自定义构建步骤,您可以在命令行编辑框中看到一些内容。打开 Windows 提示符并将命令粘贴到其中。运行,检查是否有问题并修复。

如果项目属性Custom Built Step中没有命令行,也许你应该检查项目的每个文件的属性。

如果命令行有一些宏,用实际值替换它。

或者您可以在 VS 输出窗口中回显命令:

  • cd %(somedir)%
  • echo %(somedir)%

这样你不会错过的。

【讨论】:

  • 嗨,我遇到了同样的问题,没有找到客户构建步骤命令?检查项目的每个文件的属性是什么意思?
【解决方案2】:

error MSB6006: "cmd.exe" 退出,代码为 -Solved

我也面临这个问题。在我的情况下,这是由于 output exe 已经在运行。我解决了我的问题,只需在构建之前关闭应用程序实例。

【讨论】:

  • 我有一个 VS 实例打开了我的主项目,第二个有一个 DLL 插件项目。我忘记了我正在运行主程序,因为它遇到了异常并且不再在任务栏中。每次尝试编译 DLL 时,我都会遇到类似的错误。最后我找到了这个问题/答案。使我不必问SO。 OP 需要接受这个答案。
【解决方案3】:

我解决了这个问题。双击此错误会导致行为。

  1. 打开项目的 .vcxproj 文件
  2. 搜索标签
  3. 仔细检查这个标签里面的内容,路径是否正确?调试和发布的区别,并修复它
  4. 清理并重建

就我而言。 debug 和 release mod 的错过匹配了我的下午。

          <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>

【讨论】:

    【解决方案4】:

    我也遇到过类似的问题。

    我的源路径有一个带有“空格”的目录(D:/source 2012)。我通过删除空格(D:/source2012)解决了这个问题。

    【讨论】:

    • 这条路径在哪里使用?
    【解决方案5】:

    另一种解决方案可能是,您从项目中删除了一个文件,只需将其从文件系统中删除,而不是在项目中删除。

    【讨论】:

      【解决方案6】:

      简单更好的解决方案: %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln 我做一个这样的bat文件 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe D:\GESTION-SOMECOPA\GestionCommercial\GestionCommercial.sln 暂停

      然后我可以查看所有错误并更正它们。因为当您更改文件夹名称(如上所示没有空格)时,您将遇到另一个问题。 Visual Studio 2015 在此之后工作正常。

      【讨论】:

      • 你能详细解释一下吗,我遇到了同样的错误。
      【解决方案7】:

      其实只是删除构建(清理它),然后重新启动编译器,再次构建问题解决了。

      【讨论】:

        【解决方案8】:

        通过以下方式之一从 Error List Tab 导航到 Visual Studios Output 文件夹:

        • 在底部的标准 VS 视图中选择标签Output
        • 点击菜单栏View &gt; OutputCtrl+Alt+O

        应该选择Show output from &lt;build&gt;

        您可以通过分析输出日志了解更多信息。


        在我的情况下,这是 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.
        

        【讨论】:

          【解决方案9】:

          使用版本控制系统时,所有文件在签出前都是只读的(例如 Perforce),问题可能是您不小心将 VS 文件之一(例如过滤器)提交到此版本控制系统,并且因此,该文件在构建期间不能被覆盖。

          只需转到您的工作目录并检查与 VS 解决方案相关的文件和临时创建的文件(例如 QT 中的所有 moc_ 和 ui_ 前缀文件)都不是只读的。

          【讨论】:

            【解决方案10】:

            为了未来的读者。我的问题是我指定了一个不兼容的 openssl 库来通过 CMAKE 构建我的程序。项目已生成,但构建开始失败并出现此错误,没有任何其他有用信息或错误。详细的 cmake/编译日志也没有帮助。

            我的经验教训是交叉检查不兼容性,以防您的程序依赖于任何其他第三方库。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-03-01
              • 2013-02-28
              • 1970-01-01
              • 2020-06-19
              • 1970-01-01
              • 2015-03-19
              • 2021-04-28
              • 2013-03-24
              相关资源
              最近更新 更多