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 流程,进一步优化团队协作效率。