QtCreator使用CMake构建项目时jom Error 2问题

QtCreator使用MSVC编译环境构建项目时,会因为配置不正确出现jom: C:/…/… [cmTC_fe41e\fast] Error 2错误,这里记录一下我的解决办法和对此问题的理解,希望能帮助遇到同样问题的小伙伴们。

错误截图

QtCreator使用CMake构建项目时jom Error 2问题_第1张图片

出错原因

QtCreator使用CMake构建项目时首先会测试环境配置,如果你用过cmake-gui或命令行通过CMakeLists.txt生成相应的工程文件(.vcxproj或者Makefile等)的话就会明白这个过程,CMake使用-G参数参看支持哪些具体工程,称之为CMake Generators。

CMake命令行生成Makefile:
md build
cd build
cmake -G “NMake Makefiles JOM” …
#…表示CMakeLists.txt放在上一级目录中,这一步CMake会自动检测环境,如果出错就不能生成工程文件或Makefile
nmake

cmake-gui: 设置好之后先点Configure,没问题才能Generate
QtCreator使用CMake构建项目时jom Error 2问题_第2张图片
所以上面jom出错就是cmake检测到环境配置不正确,这时会看到QtCreator根本不会加载源文件,只有一个CMakeLists.txt
QtCreator使用CMake构建项目时jom Error 2问题_第3张图片
打开CMake的错误日志文件就会发现,构建过程中需要的一些工具找不到:

“D:\Program Files (x86)\CMake\bin\cmake.exe” -E vs_link_exe
–intdir=CMakeFiles\cmTC_5b162.dir
–rc=rc
–mt=CMAKE_MT-NOTFOUND
–manifests
– D:\PROGRA1\MICROS1.0\VC\bin\amd64\link.exe /nologo @CMakeFiles\cmTC_5b162.dir\objects1.rsp @C:\Users\ADMINI~1\AppData\Local\Temp\cmTC_5b162.exe.9516.577.jom

RC Pass 1: command “rc /fo CMakeFiles\cmTC_5b162.dir/manifest.res CMakeFiles\cmTC_5b162.dir/manifest.rc” failed (exit code 0) with the following output:
系统找不到指定的文件。jom: C:\Users\Administrator\AppData\Local\Temp\QtCreator-liCfaX\qtc-cmake-pToFXfXx\CMakeFiles\CMakeTmp\CMakeFiles\cmTC_5b162.dir\build.make [cmTC_5b162.exe] Error 2

jom: C:\Users\Administrator\AppData\Local\Temp\QtCreator-liCfaX\qtc-cmake-pToFXfXx\CMakeFiles\CMakeTmp\Makefile [cmTC_5b162\fast] Error 2

rc就是rc.exe,资源编译器
mt是mt.exe

解决方法

知道错误原因这就很简单了

首先添加jom.exe的路径到环境变量Path中
${Qt安装目录}\Tools\QtCreator\bin

接着添加rc.exe和mt.exe的路径到环境变量Path中
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86
根据系统版本以及32位/64位略有不同,具体自己找找

没有问题之后,就可以构建项目了
QtCreator使用CMake构建项目时jom Error 2问题_第4张图片

你可能感兴趣的:(Qt编程,qt,qtcreator,cmake)