温馨提示×

centos安装c++依赖要注意啥

小樊
48
2026-09-27 04:30:55
栏目: 编程语言

在 CentOS 上安装 C++ 依赖(编译环境、第三方库等)时,有几个常见“坑”和注意点,按场景给你总结一下:


一、先确认系统版本

CentOS 不同版本差异很大:

cat /etc/centos-release
  • CentOS 7:默认 gcc 4.8,较老,很多现代 C++ 特性不支持
  • CentOS 8 / Stream:gcc 较高,但已停止维护或变动大
  • 推荐 CentOS 7 + devtoolset 或 Rocky/AlmaLinux

二、基础 C++ 编译环境

1️⃣ 安装 gcc / g++

sudo yum groupinstall "Development Tools"

或

sudo yum install gcc gcc-c++

⚠️ CentOS 7 默认 gcc 很旧,建议升级


三、CentOS 7 升级 gcc(非常重要)

使用 devtoolset(推荐)

sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash

验证:

gcc --version

⚠️ 注意:

  • scl enable 只在当前 shell 生效
  • 写脚本或 CI 时要 source 或启用环境

四、第三方 C++ 依赖安装方式

1️⃣ yum 安装(最简单)

sudo yum install boost-devel openssl-devel zlib-devel

✅ 适合:

  • 对版本要求不高
  • 生产环境稳定优先

❌ 缺点:

  • 版本通常偏旧

2️⃣ 源码编译(灵活但麻烦)

./configure
make -j$(nproc)
sudo make install

⚠️ 注意:

  • 默认装到 /usr/local
  • 可能需要设置:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

或写:

/etc/ld.so.conf.d/xxx.conf
sudo ldconfig

3️⃣ CMake 项目注意

sudo yum install cmake3

CentOS 7:

cmake3 ..

五、常见依赖坑点

✅ Boost

sudo yum install boost boost-devel

版本旧,需要新版本就源码装


✅ OpenSSL

CentOS 7 默认 1.0.2,很多库要求 1.1+

⚠️ 不要直接覆盖系统 OpenSSL,容易崩 yum


✅ glibc

❌ 绝对不要手动升级 glibc 会导致系统无法启动


六、静态库 / 动态库问题

  • 编译时:
-lxxx
  • 运行时找不到库:
ldd your_binary

七、容器化建议(强烈推荐)

如果是新项目:

  • 用 Docker + Ubuntu / Debian
  • 或 CentOS Stream + 新工具链

避免系统级依赖冲突


八、总结 checklist

✅ 确认 CentOS 版本
✅ 安装 Development Tools
✅ CentOS 7 用 devtoolset
✅ 优先 yum,其次源码
✅ 注意库路径和 ldconfig
✅ 不要动 glibc


如果你有具体依赖(比如 OpenCV、Boost、Protobuf、abseil),可以告诉我,我给你精确的 CentOS 安装方案。

0 踩