惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
L
LangChain Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
B
Blog

博客园 - 风来风往风伤(TiAmo)

CPU监控工具 桌面日历软件 no matching host key type found. Their offer: ssh-rsa报错信息具体方法 Spring_AOP 原理 增强类型 js漂浮代码 ThoughtWorks(中国)程序员读书雷达 Java实现文件的RSA和DES加密算法 二维码 编码原理简介 Maven+eclipse+svn项目构建 error C1088: 无法刷新编译器中间文件 error C1041: 无法打开程序数据库“xxx\vc140.pdb”;如果要将多个 CL.EXE 写入同一个 .PDB 文件 - 风来风往风伤(TiAmo) Navicat key MICROSOFT SQL SERVER 2012 序列号 IT外包概要 RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set. 判断django中的orm为空 QEventLoop配合QTimer实现阻塞任务超时处理 sql调优的总结 2019Python学习路线图
QtCreator中使用CMake+Ninja加速编译
风来风往风伤(TiAmo) · 2022-05-07 · via 博客园 - 风来风往风伤(TiAmo)

使用CMake+Ninja可以提高三倍以上编译速度,快到你不适应,感觉没有时间“开小拆”。

它适用于mingw、msvc、gcc、clang等编译工具,只需对构建系统稍加修改即可。

Ninja是一个由google开发小型构建系统,它专注于速度。Ninja用于构建Chrome,部分Android,LLVM,并且由于CMake的Ninja后端,可用于许多其他项目。

它在两个主要方面与其他构建系统不同:它旨在使其输入文件由更高级别的构建系统(比如cmake)生成,并且旨在尽可能快地运行构建。

其他构建系统是高级语言,Ninja旨在成为汇编程序。Ninja构建文件是人类可读的,但手动编写并不是特别方便。(https://ninja-build.org/)

下载链接:https://github.com/ninja-build/ninja/releases

如何配置
(1)配置cmake使用ninja

(2)配置ninja的路径和QT_DIR
(注意:QT_DIR一定要配置,它的路径要区分mingw/msvc,这个很重要因为我们的工程用到了它)
示例:

CMAKE_MAKE_PROGRAM:FILEPATH=C:/ninja-win/ninja.exe
QT_DIR:PATH=C:/Qt/Qt5.9.4/5.9.4/mingw53_32

(3)重新加载工程,依图示执行cmake
注意:文件管理器中清空原来的编译或者使用新的路径

常见问题
提示错误信息“Please set the Qt install path first. -DQT_DIR=XXXX”,按图示设置正确的路径,或以上述配置(2)中加上QT_DIR的环境变量