VS2015+Qt5.9.1编译报错:Moc系统找不到指定路径,error MSB6006 cmd.exe 已退出,代码为3 -- 完美解决
2017-08-25 15:17
1481 查看
笔者在msbuild编译qt界面文件会出现Moc'ing文件,系统找不到指定路径问题。
点击“生成解决方案 F7”会报错:
Moc' ing ***.h
系统找不到指定的路径。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(171,5): error MSB6006 cmd.exe 已退出,代码为3。
上述错误提示是因为MSBuild找不到Qt的moc.exe所在路径,从而导致预编译Q_OBJECT文件失败。 根据工程在本地VS上能否编译通过,分为两种情况:
1、若无法编译通过,则Qt类库或者Qt Visual Studio Add-in插件安装有问题,需重新安装。
2、若无法编译通过,则是工程的Qt类库路径($QTDIR)与本地VS配置的Qt类库路径不相同,打开工程路径下的工程配置文件xxx.vcxproj.user,可以观察和分析QTDIR的路径。
解决方案如下:
方案1、不理会它,直接点击“开始执行(不调试) Ctrl+F5”.原因是ui_window.h不能识别,就不用理会 ,直接点击运行 然后 ui_window.h就会自动生成了.下次再编译就好了.
方案2、找到VS2015的解决方案资源管理器,右键工程项目,弹出菜单,点击“convert project to QMake generated project”,此时工程文件xxx.vcxproj.user会发生变化。
xxx.vcxproj.user举例如下:
其中<QTDIR>C:\Qt\Qt5.9.1\5.9.1\msvc2015</QTDIR>是convert project...之后工具自动添加的。如果自动添加失败,程序员可以手动添加,分别新增Debug|Win32和Release|Win32下QTDIR的路径值,使其与本地VS配置的Qt类库路径相同。
重新编译后即可。
笔者分别使用方案1和2,成功解决!1若不行咱就用2!
点击“生成解决方案 F7”会报错:
Moc' ing ***.h
系统找不到指定的路径。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(171,5): error MSB6006 cmd.exe 已退出,代码为3。
上述错误提示是因为MSBuild找不到Qt的moc.exe所在路径,从而导致预编译Q_OBJECT文件失败。 根据工程在本地VS上能否编译通过,分为两种情况:
1、若无法编译通过,则Qt类库或者Qt Visual Studio Add-in插件安装有问题,需重新安装。
2、若无法编译通过,则是工程的Qt类库路径($QTDIR)与本地VS配置的Qt类库路径不相同,打开工程路径下的工程配置文件xxx.vcxproj.user,可以观察和分析QTDIR的路径。
解决方案如下:
方案1、不理会它,直接点击“开始执行(不调试) Ctrl+F5”.原因是ui_window.h不能识别,就不用理会 ,直接点击运行 然后 ui_window.h就会自动生成了.下次再编译就好了.
方案2、找到VS2015的解决方案资源管理器,右键工程项目,弹出菜单,点击“convert project to QMake generated project”,此时工程文件xxx.vcxproj.user会发生变化。
xxx.vcxproj.user举例如下:
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment> <QTDIR>C:\Qt\Qt5.9.1\5.9.1\msvc2015</QTDIR> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment> <QTDIR>C:\Qt\Qt5.9.1\5.9.1\msvc2015</QTDIR> </PropertyGroup> </Project>
其中<QTDIR>C:\Qt\Qt5.9.1\5.9.1\msvc2015</QTDIR>是convert project...之后工具自动添加的。如果自动添加失败,程序员可以手动添加,分别新增Debug|Win32和Release|Win32下QTDIR的路径值,使其与本地VS配置的Qt类库路径相同。
重新编译后即可。
笔者分别使用方案1和2,成功解决!1若不行咱就用2!
相关文章推荐
- vs2015配置QT5.7 error MSB6006: “cmd.exe”已退出,系统找不到指定的路径
- 解决VS编译出现Moc'ing文件,系统找不到指定路径问题
- VS2015 编译QT项目出现error MSB6006: “cmd.exe”已退出,代码为 3。
- VS2015 编译QT项目出现error MSB6006: “cmd.exe”已退出,代码为 3。
- 运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- 解决Visual Studio编译出现Moc'ing文件,系统找不到指定路径问题
- 在WIN10系统下运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- Cmake编译OpenCV源码提示error MSB6006: “cmd.exe”已退出,代码为 1解决思路
- 解决Visual Studio编译出现Moc'ing文件,系统找不到指定路径问题
- 解决Visual Studio编译出现Moc'ing文件,系统找不到指定路径问题
- 将QT工程在vs下编译遇到“错误89error MSB6006: “cmd.exe”已退出,代码为 3。”
- VS2010编译Qt5.3项目,出现Moc'ing xxx.h,系统找不到指定路径问题
- vs2015 系统找不到指定的文件(异常来自HRESULT:0x80070002)问题的解决方法
- msbuild编译qt界面文件出现Moc'ing文件,系统找不到指定路径问题
- 解决VS调试提示“无法启动程序,'...exe'.系统找不到指定文件。”的问题
- VS 无法启动程序(系统找不到指定路径)的解决方法
- VS: error MSB6006: “cmd.exe”已退出,代码为xxxx
- 分享一个安装Vs2015失败的解决方案,报错为系统找不到指定路径
- 解决VS生成时的错误: "LC.EXE 已退出,代码为-1"