在 Linux 下进行 C++ 开发/构建提速,可以从编译、链接、构建系统、依赖管理、机器资源、编辑器等多个层面入手。下面按“见效快慢 + 实用程度”给你一套可落地的方案。
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
-fuse-ld=lld
-O0 -g
-O2 或 -O3
⚠️ -O0 编译快,但运行慢;调试时优先编译速度。
include 巨型头文件.cpp 中(C++20 Modules 更好)make -j$(nproc)
ninja
cmake -GNinja
ninja
✅ Ninja 启动快、依赖解析快
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(BUILD_TESTING OFF)
target_* 而非全局 include_directoriesbuild/debug
build/release
避免重复配置
适合 STL / Boost / 项目公共头
target_precompile_headers(app PRIVATE common.h)
sudo apt install ccache
export CC="ccache gcc"
export CXX="ccache g++"
✅ 第二次编译几乎秒回
lld(Clang)gold(GCC)-fuse-ld=lld
-fvisibility=hidden
sudo apt install clangd
mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build
✅ 极小项目效果明显
中小型项目
Clang + Ninja + ccache
大型项目
GCC/Clang + Ninja + ccache + lld + PCH
CI / 服务器
distcc + ccache + Ninja
-j如果你愿意,可以告诉我:
我可以直接帮你给一套具体配置模板。