QtCreator使用CMake构建项目时jom Error 2问题
QtCreator使用MSVC编译环境构建项目时,会因为配置不正确出现jom: C:/…/… [cmTC_fe41e\fast] Error 2错误,这里记录一下我的解决办法和对此问题的理解,希望能帮助遇到同样问题的小伙伴们。
错误截图
出错原因
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
所以上面jom出错就是cmake检测到环境配置不正确,这时会看到QtCreator根本不会加载源文件,只有一个CMakeLists.txt
打开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问题相关推荐
- 用CMake构建工程时 cmake -G“Unix Makefiles“ 的使用
在Windows上使用CMake构建项目出现了很多错误,搜索了很多资料尝试改了很多地方始终没能找到与我类似的情况,一度让我以为是系统问题.今天发现就一句,是没用cmake -G"Unix M ...
- vue-cli3构建项目时elementUI按需引入问题
vue-cli3构建项目时elementUI按需引入问题 报错1:Error: Cannot find module 'babel-preset-es2015' 报错2:Error: Cannot f ...
- 构建项目时发生错误 - 错误:CS0006“... \ Assembly-CSharp-firstpass.dll”找不到
构建项目时发生错误 - 错误:CS0006"... \ Assembly-CSharp-firstpass.dll"找不到 我正在为Hololens建立一个简单的项目. 独特的场景 ...
- idea 使用maven构建项目时,target bytecode version经常自动变化
idea 使用maven构建项目时,target bytecode version经常自动变化 解决方法:在工程的pom.xml中添加 <build><plugins>< ...
- jenkins构建项目时跳过单元测试
最近构建项目时突然构建失败,查看日志发现构建的时候就启动了项目,而且明明是构建测试环境的项目,日志却显示启动环境是开发环境,思前想后发现之所以构建的时候就启动了是因为跑了单元测试的原因,因此需要在打包 ...
- CMake 编译项目时提示找不到依赖项
编译项目时使用 CMake,当编译复杂时也容易出错,因此记录下以便后续参考: 项目 quic 基本情况: quic 依赖 boringssl 的 ssl.crypto 等,因此在 quic 的 CMa ...
- SpringBoot启动项目时提示:Error:java: 读取***.jar时出错;
场景 在IDEA中新建SpringBoot项目后,修改了默认的Maven仓库和配置文件,然后在启动项目时提示: Error:java: 读取\org\assertj\assertj-core\3.11 ...
- SpringBoot启动项目时提示:Error:(3, 32) java: 程序包org.springframework.boot不存在
场景 在IDEA中新建SpringBoot项目,后启动项目时提示: Error:(3, 32) java: 程序包org.springframework.boot不存在 实现 将pom.xml中par ...
- CMake 构建项目Android NDK项目基础知识
本篇文章将介绍如何使用 CMake 构建实现你的第一个 NDK 项目. ##前言 你好!欢迎来到我的的学习笔记分享系列,第一次给大家分享的是 Android NDK 开发的学习笔记,让我们先开始了解 ...
最新文章
- SAP WM初阶之MIGO过账后自动调用LT06事务代码
- 开发线程安全的Spring Web应用
- 编译器错误信息: CS1595: 已在多处定义“ ”;一种可能出现的情况
- 关于报错ImportError: cannot import name ‘AbstractKeyedTuple‘ from ‘sqlalchemy.util._collections‘的解决
- 学习笔记(38):Python实战编程-窗体显示
- IT行业经典面试题,121套面试题
- java流换行符方法_java换行符的使用方法
- PHP 利用cron 实现文章同步至新浪、网易等微博
- 杭电 2015 偶数求和
- fastapi 的启动方式
- 如何更好地利用JavaScript数组
- 图解Team Foundation Server 2013系列
- android 串口一直打开_STM32之串口DMA接收不定长数据
- SharePoint Backup
- html怎么加入页面登录背景,HTML+CSS实现动态背景登录页面
- 数据库基础知识【 1 】
- 华为鸿蒙到底卡不卡,华为mate book14,办公作图就靠它了
- React使用cra创建项目,开启装饰器
- GCC 9.4 编译error: catching polymorphic type ‘class std::bad_alloc’ by value [-Werror=catch-value=]
- 校园歌手大赛10分c语言,校园歌手大赛策划方案5