Qt 预编译头文件(precompiled headers) 加快编译速度

预编译头文件: precompiled headers, 将不经常改动的代码编译成二进制文件, 在之后每次编译的时候可会直接调用这些预编译头文件的二进制文件, 实现加快编译速度.

简单点说就是: 可以把不常更改的头文件, 通过预编译头文件的方式进行一次编译, 提高之后的编译速度. 就是为了加快编译速度, 就是为了加快编译速度, 就是为了加快编译速度!

1. Qt支持的平台

qmake 支持的预编译头(precompiled headers)的编译器包括:
- Windows
nmake
Visual Studio projects (VS 2008 and later)
- OS X and iOS
Makefile
Xcode
- Unix
GCC 3.4 and above

2. 具体使用

非常简单, 官方有介绍.

2.1 先写一个stable.h

这个stable.h里面包含的就是需要预编译的头文件

  // Add C includes here

  #if defined __cplusplus
  
### 提高QT中使用QCustomPlot时的编译速度 #### 1. 使用预编译头文件 (Precompiled Headers) 通过配置项目以利用预编译头文件可以显著减少重复编译时间。对于大型项目尤其有效,因为许多标准库和框架头文件只需编译一次。 ```cpp // precompile.pch #include <QtWidgets> #include "qcustomplot.h" ``` 在 `.pro` 文件中启用预编译: ```makefile PRECOMPILED_HEADER = precompile.pch ``` 这一步骤能够大幅缩短每次构建所需的时间[^1]。 #### 2. 减少不必要的依赖项 仔细审查 `#include` 指令,移除未使用的头文件。仅导入实际需要的功能模块有助于降低编译开销并加快整体过程。 #### 3. 启用增量链接(Incremental Linking) 设置项目的链接器选项为支持增量模式,在修改少量代码的情况下可加速最终二进制文件的生成。 ```makefile CONFIG += incremental ``` 此方法特别适用于频繁调试期间的小范围改动场景下。 #### 4. 并行化编译任务 充分利用多核处理器的优势来并发执行多个编译作业。可以通过调整环境变量或IDE设置实现这一点。 对于命令行工具链而言: ```bash export MAKEFLAGS="-j$(nproc)" ``` 上述措施能有效地提升大体量工程下的编译效率。 #### 5. 缓存中间产物 采用诸如 ccache 或 sccache 这样的缓存机制保存已处理过的翻译单元,从而避免完全重新编译相同部分。 安装 ccacche : ```bash sudo apt-get install ccache ``` 配置 Qt Creator 使用 ccache : 进入 Tools -> Options... -> Build & Run -> Kits ,选择相应的 kit ,点击 Details ...按钮,找到 Compiler Settings 下面有 C compiler 和 C++ compiler 的路径,将其改为 `/usr/lib/ccache/gcc` 及 `/usr/lib/ccache/g++`. 这些策略综合应用可以在很大程度上改善基于 QCustomPlot 开发的应用程序的编译体验.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值