当我尝试使用2010构建我的VC ++代码时,我收到错误消息
> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.
请告诉我们如何克服这个问题?
答案 0 :(得分:5)
error MSB6006: "cmd.exe"
退出代码-Solved
我也面临这个问题。在我的情况下,这是由于output exe
已经运行。我解决了我的问题,只需在构建之前关闭应用程序实例。
答案 1 :(得分:4)
我今天遇到了同样的问题,而我正在将一些VC6项目升级到VC2012。
就我而言,这是因为自定义构建步骤中的某些操作失败了。 在项目属性中,转到自定义生成步骤,您可以在命令行编辑框中看到可能有些内容。打开Windows提示符并将命令粘贴到它。运行,检查是否有问题并修复它。
如果项目属性Custom Built Step中没有命令行,也许您应该检查项目的每个文件的属性。
如果命令行有一些宏,请将其替换为实际值。
或者你可以在VS输出窗口中回显命令:
cd %(somedir)%
echo %(somedir)%
你不会错过这种方式。
答案 2 :(得分:4)
通过以下方式之一从Error List Tab
导航到Visual Studios Output
文件夹:
Output
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.
答案 3 :(得分:2)
我解决了这个问题。双击此错误会导致行为。
我的情况。调试和发布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 :(得分:2)
我也遇到过类似的问题。
我的源路径有一个带有&#39;空格的目录。 (D:/ source 2012)。我通过删除空格(D:/ source2012)解决了这个问题。
答案 5 :(得分:1)
实际上只需删除构建(清理它),然后重新启动编译器,再次构建它解决了问题。
答案 6 :(得分:1)
为了未来的读者。我的问题是我指定了一个不兼容的openssl库来通过CMAKE构建我的程序。项目已生成,但构建开始因此错误而失败,没有任何其他有用的信息或错误。详细的cmake /编译日志也没有帮助。
我的教训是,如果您的程序依赖于任何其他第三方库,请交叉检查不兼容性。
答案 7 :(得分:0)
另一个解决方案可能是,您只是在文件系统中删除了一个文件,而不是在项目中将其删除。
答案 8 :(得分:0)
简单而好的解决方案: %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在此之后工作正常。
答案 9 :(得分:0)
当使用版本控制系统时,所有文件只有在签出之前才会被读取(如Perforce),问题可能是您不小心将一个VS文件(例如过滤器)提交到此版本控制系统中因此在构建期间不能覆盖该文件。
只需转到您的工作目录,检查没有与VS解决方案相关的文件,也没有任何临时创建的文件(例如QT中的所有moc_和ui_前缀文件)都是只读的。