在 CentOS 上 C++ 编译/配置慢,通常可以从 编译器、构建系统、系统环境、依赖管理 几个层面来优化。下面按「常见原因 + 优化手段」整理,适合实际工程场景。
make -j$(nproc)
或 CMake:
cmake --build build -j$(nproc)
✅ 检查:
nproc
Ninja 比 Make 快很多,尤其大项目。
yum install ninja-build
cmake -G Ninja ..
ninja
避免每次都全量编译:
yum install ccache
export CC="ccache gcc"
export CXX="ccache g++"
CMake:
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
✅ 查看命中率:
ccache -s
set(CMAKE_EXPORT_COMPILE_COMMANDS OFF)
避免:
find_packagetry_compile避免重复配置:
cmake --preset release
不要源码里直接 cmake .
mkdir build && cd build
cmake ..
CentOS 7 默认 GCC 4.8,非常慢。
yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash
推荐:
#include <bits/stdc++.h>Debug 很慢:
-O0 -g
Release:
-O2 -DNDEBUG
避免:
-ftime-trace # 仅分析用
mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build
适合:
setenforce 0
不要每次编译:
使用:
yum install boost-devel
或 Conan / vcpkg
conan install . --build=missing
GCC:
g++ -ftime-trace main.cpp
CMake 配置慢:
cmake -LAH
✅ CentOS + C++ 最佳实践
如果你能告诉我:
我可以给你一套针对性的优化方案。