温馨提示×

centos怎样升级c加加版本

小樊
40
2026-09-24 06:52:13
栏目: 智能运维

在 CentOS 上升级 C++(即 GCC 的 C++ 编译器 g++)版本,常见做法有几种,取决于你使用的 CentOS 版本(CentOS 7 / 8 / Stream)。下面按最实用、最安全的方式说明。


一、先查看当前 C++ 版本

g++ --version

或

gcc --version

二、CentOS 7(最常见)

方法 1:使用 Software Collections(推荐 ✅)

CentOS 7 默认是 gcc 4.8.5,太老。

1. 安装 SCL

yum install -y centos-release-scl

2. 安装新版本 GCC(例如 9 / 11)

yum install -y devtoolset-11

可选版本:

  • devtoolset-7(gcc 7)
  • devtoolset-9(gcc 9)
  • devtoolset-11(gcc 11)

3. 启用新版本(临时)

scl enable devtoolset-11 bash

然后再看:

g++ --version

4. 永久生效(推荐)

echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc

方法 2:手动编译 GCC(不推荐新手)

适合需要 GCC 12+,但非常耗时(1~2 小时)。


三、CentOS 8 / Stream

方法 1:使用 AppStream(最简单)

dnf install -y gcc-c++ gcc-toolset-11

启用:

source /opt/rh/gcc-toolset-11/enable

方法 2:使用 GCC 官方工具链

dnf install -y gcc-toolset-12

四、验证 C++ 标准支持

echo '#include <iostream>
int main(){ std::cout<<"C++17 OK\n"; }' > t.cpp
g++ -std=c++17 t.cpp -o t && ./t

五、常见问题

Q1:升级后还是旧版本?

✅ 必须 source enable 或新开 shell

Q2:CMake 不识别新 GCC?

export CC=/opt/rh/devtoolset-11/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-11/root/usr/bin/g++

六、总结推荐

系统 推荐方式
CentOS 7 devtoolset-11
CentOS 8 gcc-toolset-11/12
需要最新 编译或容器

如果你告诉我:

  • ✅ CentOS 版本
  • ✅ 需要的 C++ 标准(C++11 / 17 / 20)
  • ✅ 是否用于编译某个项目(如 LLVM / ROS)

我可以给你精确命令。

0 踩