Ubuntu安装配置ccache

Ubuntu安装配置ccache

内容

在 Ubuntu 中通过 ccache 加速编译流程的完整指南如下:


1. 安装 ccache

sudo apt update && sudo apt install ccache

2. 配置环境变量(推荐方式)

(1) 临时生效(仅当前终端会话)

export PATH="/usr/lib/ccache:$PATH"

(2) 永久生效(写入 Shell 配置文件)

echo 'export PATH="/usr/lib/ccache:$PATH"' >> ~/.bashrc  # Bash 用户
source ~/.bashrc

(3) 验证路径优先级

which gcc
# 输出应为: /usr/lib/ccache/gcc

3. 配置 ccache 参数

(1) 调整缓存大小(默认 5G)

ccache --max-size=10G  # 设置为 10GB

(2) 查看配置状态

ccache -s  # 显示命中率、缓存大小等信息

4. 在编译流程中启用 ccache

(1) 直接调用(适用于 Makefile)

make CC="ccache gcc" CXX="ccache g++"

(2) 自动适配(CMake 项目)

mkdir build && cd build
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccake ..
make -j$(nproc)

(3) Autotools 项目(如 ./configure)

./configure CC="ccache gcc" CXX="ccache g++"
make -j$(nproc)

5. 验证加速效果

  • 首次编译:正常耗时,生成缓存
  • 二次编译:速度显著提升(若代码无改动,命中率接近 100%)
ccache -s  # 查看缓存命中率统计

6. 高级配置

(1) 共享缓存(多用户/多项目)

# 所有用户共享缓存目录
sudo mkdir /shared_ccache
sudo chmod 0777 /shared_ccache
ccache --set-config=cache_dir=/shared_ccache

(2) 缓存清理

ccache -C  # 清空缓存
ccache -c  # 清理过期文件

(3) 实时监控

watch -n1 ccache -s  # 每秒刷新缓存状态

7. 常见问题处理

问题 解决方案
缓存未命中 检查 CCACHE_CPP2=yes 是否设置(部分项目需启用)
编译速度无改善 确认 ccache -s 显示缓存路径和命中率正常
磁盘空间不足 调整 --max-size 或清理旧缓存

总结

通过上述步骤,ccache 可将重复编译任务的速度提升 5-10 倍,尤其适合以下场景:

  • 频繁执行 make clean && make
  • 切换 Git 分支后的增量编译
  • 多开发者共享同一缓存目录

建议将 ccache 配置写入 CI/CD 流程,进一步优化团队协作效率。

posted @ 2025-02-26 21:37  Gold_stein  阅读(888)  评论(0)    收藏  举报