1)“cmd.exe”已退出,代码为9009,多为路径问题,解决方法:
在VS2015+Qt5.8.0(或VS2013+Qt5.6.2等等)中新建Qt Application项目,没有任何改动,编译依然报错如下:
error MSB6006: “cmd.exe”已退出,代码为 9009
解决方法如下:
1.检查Qt安装目录是否添加到环境变量:
VS2013+Qt5.6.2配置
VS2015+Qt5.8.0配置
2.在确定路径无中文、环境变量已添加了以后如果依然报错,那么很可能就是同时安装了多个Qt版本导致的冲突,此时不需要卸载多个Qt,只要禁用qt-addin-vs插件就可以了,比如电脑中有VS2013+Qt5.6.2,同时还有VS2015+Qt5.8.0,就会导致冲突,解决方法如下:
如果使用的是VS2013+Qt5.6.2:点击VS上方菜单栏中看到的QT5选项->Qt Options:确保Qt版本及安装路径是Qt5.6.2,然后环境变量要把Qt5.6.2的安装路径发到Qt5.8.0安装路径之前即可
如果使用的是VS2015+Qt5.8.0:点击VS上方菜单栏中看到的Qt VS Tools选项->Qt Options:确保Qt版本及安装路径是Qt5.8.0,然后环境变量要把Qt5.8.0的安装路径发到Qt5.6.2安装路径之前即可
以上操作可以实现Qt工程的切换,但是略麻烦,因此建议Qt尽量不要装多个版本,官方给的addin程序,VS2015貌似只支持5.8.0及其以上版本,因此建议统一改成5.8.0版本,不给自己找麻烦...
---------------------
2)“cmd.exe”已退出,代码为1,多为moc_文件冲突,解决方法:
如果是“cmd.exe”已退出,代码为1,解决方法如下:
点开项目目录Generated Files,可以看到moc_文件,将moc文件对应的.h头文件移除(注意是移除不是删除),再添加进来,会重新自动生成对应moc文件,如果Generated Files下没有moc文件,那么可以把.h头文件全部移除再添加(只有包含Q_OBJECT才会生成moc,如果太多全部移除再添加进来更快),然后重新编译即可。
原因:moc文件是Qt自动生成的,伴随.h文件,当.h文件和moc文件都生成了以后,修改了.h中的一部分内容,就会导致moc关联不上,这时干掉.h,然后再添加进来就会生成新的moc文件,这样就不会报错了。
---------------------
3)“cmd.exe”已退出,代码为3,如果发生在QT+VS开发环境下的工程编译,解决方法:项目右键->Convert Project to QMake Generated Project,然后重新编译即可:
---------------------
原文:https://blog.csdn.net/u012043391/article/details/75635338