关于VS2012 (error MSB6001 “cmd.exe”的命令行开关无效。路径的形式不合法)错误的一种解决方法

       工作上学习用的工程,从2008升级到2013中遇到的问题。编译过程遇到 error MSB6001 “cmd.exe”的命令行开关无效。的错误

一时无法解决,在寻求无所不能的Google之后,终于发现了一个解决办法。

       原链接如下

       http://connect.microsoft.com/VisualStudio/feedback/details/763697/error-msb6001-vs2012


        简单的说,就是在Microsoft.CppCommon.targets中找到

        Look for the CustomBuild task definition:
        <Target Name="CustomBuild"
        Condition="'@(CustomBuild)' != ''"
        DependsOnTargets="SelectCustomBuild;ComputeCustomBuildOutput"
        BeforeTargets="$(CustomBuildToolBeforeTargets)"
        AfterTargets="$(CustomBuildToolAfterTargets)"
        >

        并在下面加入这段

     <ItemGroup>
     <_ExpandedAdditionalInputs Include="%(CustomBuild.AdditionalInputs)"/>
     <_ExpandedOutputs Include="%(CustomBuild.Outputs)"/>
     <CustomBuild>
     <AdditionalInputs>@(_ExpandedAdditionalInputs)</AdditionalInputs>
     <Outputs>@(_ExpandedOutputs)</Outputs>
     </CustomBuild>
     </ItemGroup>

         重新编译就好了



    

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 这个错误通常出现在使用Visual Studio编译C++代码时,原因可能是编译器没有正确地设置或某些文件缺失。 您可以尝试以下解决方法: 1. 确保您的计算机已安装了所需的VC++库和Windows SDK。 2. 确保您的项目设置正确,例如正确设置了包含目录和库目录。 3. 尝试清除您的解决方案并重新生成它,有时这可以解决问题。 4. 如果您使用的是第三方库,请确保它已正确地安装和设置。 如果以上解决方法无法解决问题,您可以尝试在命令行中手动编译代码以查看是否存在其他错误消息。 ### 回答2: error msb6006 cmd.exe已退出是Visual Studio编译器输出的错误提示。这个错误提示通常出现在Windows平台上,提示发生了一些错误,导致命令行进程cmd.exe异常退出,进而导致编译失败。 这个错误提示可能由多种原因引起。下面我们列举一些可能导致这个错误的常见原因: 1. 编译器或者IDE中的项目配置不正确,导致无法编译成功。 2. 编写的代码中存在语法错误或者逻辑错误,导致编译失败。 3. 编写的代码中使用了外部库或者依赖,但是这些库或者依赖在编译时无法找到或者链接失败。 4. 编写的代码中使用了操作系统或者硬件相关的功能,但是编译环境中缺少相应的库或者驱动。 当发生error msb6006 cmd.exe已退出这个编译错误时,需要我们进行进一步的排查,找出具体原因,然后进行相应的修复。具体的排查方法可能会因为不同的情况而有所不同,但是一般情况下,我们可以参考以下步骤: 1. 查看编译器输出的详细信息,找到具体的错误信息和堆栈跟踪信息。 2. 根据找到的错误信息和堆栈跟踪信息,确定错误原因。 3. 对于各种可能原因,逐步展开进一步的排查和修复。 对于第一种可能原因,我们需要检查编译器或者IDE中的项目配置是否正确,包括但不限于选项设置、库文件链接等方面。 对于第二种可能原因,我们需要仔细检查代码中的语法和逻辑是否正确,争取编写出无误的代码。 对于第三种可能原因,我们需要检查项目中是否添加了正确的库和依赖,以及添加库和依赖的路径是否正确。 对于第四种可能原因,我们需要确认操作系统和硬件相关的库和驱动是否正确安装、配置、链接。 总之,解决error msb6006 cmd.exe已退出这类编译错误,需要我们进行细致的排查和调试,找到问题的根源并逐步解决。 ### 回答3: error MSB6006是一个很常见的错误信息,它通常和Visual Studio进行C++编译和链接的操作有关。该错误信息指出,编译器在执行cmd.exe中的某个命令时,出现了异常错误,最终导致cmd.exe进程被强制退出。 这个错误信息具有一定的通用性,可能是由于多种原因引起的。首先,可能是由于程序员编写的代码出现了某种逻辑问题,导致了异常错误的触发。此外,也可能是由于系统本身的一些问题,例如环境变量设置不正确或系统文件被破坏等情况,导致了错误的发生。 针对这个错误信息,我们可以尝试一些解决办法。首先,需要检查编写的代码是否存在错误,并且检查调用命令的参数是否正确。其次,可以尝试重启电脑或者重新安装Visual Studio,以排除系统环境问题。同时,也可以检查编译器和链接器的版本是否与操作系统版本匹配,以避免出现不兼容的情况。 总之,error MSB6006错误信息通常和编译器和链接器相关的操作有关,可能是由多种原因引起的,需要具体情况具体分析,采取合适的解决办法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值