温馨提示×

CentOS C++依赖如何配置呢

小樊
44
2026-08-04 00:46:12
栏目: 编程语言

在 CentOS 上配置 C++ 开发依赖,通常分为 系统环境准备、编译器、常用库、构建工具、包管理 等几个方面。下面按常见场景给你一个完整、实用的配置指南。


一、确认系统版本

cat /etc/centos-release

常见版本:

  • CentOS 7(较老,gcc 版本低)
  • CentOS 8 / Stream(较新)

二、安装基础 C++ 编译环境(必装)

1️⃣ 安装开发工具组(推荐)

sudo yum groupinstall "Development Tools"

包含:

  • gcc / g++
  • make
  • automake
  • autoconf
  • binutils

2️⃣ 单独安装 gcc / g++

sudo yum install gcc gcc-c++

查看版本:

g++ --version

三、升级 GCC(CentOS 7 常见需求)

CentOS 7 默认 gcc 是 4.8.5,很多现代 C++(C++14/17/20)不支持。

方法 1:使用 SCL(推荐)

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

启用:

scl enable devtoolset-11 bash

永久生效(加入 ~/.bashrc):

source /opt/rh/devtoolset-11/enable

支持版本:

  • devtoolset-7(C++14)
  • devtoolset-8/9/10/11(C++17/20)

四、常用 C++ 依赖库安装

1️⃣ 常见库

sudo yum install \
  openssl-devel \
  zlib-devel \
  libcurl-devel \
  readline-devel \
  ncurses-devel \
  sqlite-devel

2️⃣ CMake(强烈推荐)

sudo yum install cmake

或安装新版(示例 3.25):

wget https://github.com/Kitware/CMake/releases/download/v3.25.0/cmake-3.25.0-linux-x86_64.sh
chmod +x cmake-3.25.0-linux-x86_64.sh
sudo ./cmake-3.25.0-linux-x86_64.sh --skip-license --prefix=/usr/local

五、使用 yum 安装第三方 C++ 库

示例

sudo yum install boost-devel
sudo yum install gtest-devel
sudo yum install protobuf-devel

查看是否安装:

rpm -qa | grep boost

六、手动编译安装依赖(常见)

示例:安装 Boost

wget https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.gz
tar -xzf boost_1_83_0.tar.gz
cd boost_1_83_0
./bootstrap.sh
./b2 install

默认安装到:

/usr/local/include
/usr/local/lib

七、配置动态库路径(非常重要)

1️⃣ 添加库路径

echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig

2️⃣ 临时生效

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

八、CMake 示例(推荐写法)

cmake_minimum_required(VERSION 3.10)
project(demo)

set(CMAKE_CXX_STANDARD 17)

find_package(Boost REQUIRED)

add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost)

编译:

mkdir build && cd build
cmake ..
make

九、常见错误 & 解决

❌ g++: command not found

sudo yum install gcc-c++

❌ undefined reference to XXX

  • 没链接库
  • 库路径没配置(ldconfig)

❌ GLIBCXX_3.4.xx not found

  • gcc 版本过低
  • 升级 devtoolset

十、推荐组合(稳定)

项目 推荐
OS CentOS 7 + devtoolset-11
编译器 GCC 11
构建 CMake
包管理 yum + 手动编译

如果你能告诉我:

  • ✅ CentOS 版本
  • ✅ 要开发什么(服务端 / 网络 / 算法 / 嵌入式)
  • ✅ 用的是 Makefile 还是 CMake

我可以给你 更精确的依赖配置方案(甚至 Docker 环境)。

0