在 CentOS 上管理 C++ 依赖库,常见做法可以按「是否用包管理器」「是否用现代依赖管理工具」「项目规模」来分。下面给你一个比较系统的说明。
CentOS 默认使用 yum(CentOS 7) 或 dnf(CentOS 8+)。
sudo yum install gcc gcc-c++ make cmake
sudo yum install boost-devel openssl-devel zlib-devel
常见 C++ 库包命名规则:
boostboost-develyum search boost
yum list installed | grep boost
sudo yum remove boost-devel
✅ 优点:稳定、兼容好
❌ 缺点:版本通常较旧
C++ 项目一般用 CMake 管理依赖。
find_package(Boost REQUIRED COMPONENTS system filesystem)
target_link_libraries(app Boost::system Boost::filesystem)
编译:
mkdir build && cd build
cmake ..
make
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt boost
CMake 集成:
set(CMAKE_TOOLCHAIN_FILE=/path/vcpkg/scripts/buildsystems/vcpkg.cmake)
✅ 版本新
❌ 第一次编译慢
pip install conan
conan install . --build=missing
conanfile.txt 示例:
[requires]
boost/1.82.0
[generators]
cmake
✅ 非常适合团队协作
❌ 学习成本略高
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
⚠ 注意:
/opt 或用户目录sudo yum groupinstall "Development Tools"
sudo yum install cmake3 ninja-build
如需要新版 GCC:
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
| 场景 | 推荐方式 |
|---|---|
| 简单程序 | yum + CMake |
| 团队项目 | Conan / vcpkg |
| 需要新版本 | vcpkg / 手动编译 |
| 服务器部署 | 系统包 + 静态链接 |
如果你愿意,可以告诉我:
我可以给你一套具体可复制的配置方案。