CentOS C++编译器更新与配置指南
一 检查当前环境
- 查看版本与路径
- 命令:gcc --version、g++ --version
- 命令:which gcc、which g++
- 安装基础编译工具(如未安装)
- 命令:sudo yum install -y gcc gcc-c++ libstdc+±devel
- 说明:CentOS 7 默认多为 GCC 4.8.5,对 C++11/14/17 支持不完整,建议通过 SCL/Devtoolset 升级;CentOS 8 已结束官方支持,建议迁移至 CentOS Stream 或其他受支持发行版。
二 方法一 使用 SCL Devtoolset 升级(推荐)
- 启用 SCL 仓库并安装所需版本(示例为 devtoolset-11)
- 命令:sudo yum install -y centos-release-scl
- 命令:sudo yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++
- 临时启用新版本(仅当前会话)
- 命令:scl enable devtoolset-11 bash
- 验证版本
- 命令:gcc --version、g++ --version
- 永久生效(登录即启用)
- 写入配置:echo “source /opt/rh/devtoolset-11/enable” >> ~/.bash_profile
- 使配置生效:source ~/.bash_profile
- 多版本并存与切换
- 可安装多个版本(如 devtoolset-9、devtoolset-11),按需执行对应的 scl enable 或在 ~/.bash_profile 中切换 source 行。
三 方法二 源码编译安装 GCC(可选)
- 安装依赖
- 命令:sudo yum install -y gmp-devel mpfr-devel libmpc-devel
- 下载并解压(以 GCC 11.2.0 为例)
- 命令:wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
- 命令:tar -xf gcc-11.2.0.tar.gz && cd gcc-11.2.0
- 配置、编译与安装
- 命令:mkdir -p build && cd build
- 命令:…/configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++
- 命令:make -j$(nproc)
- 命令:sudo make install
- 配置环境
- 命令:echo ‘export PATH=/usr/local/gcc-11.2.0/bin:$PATH’ >> ~/.bashrc
- 命令:source ~/.bashrc
- 验证:gcc --version、g++ --version。
四 配置与验证要点
- 标准与特性启用
- 编译时显式指定标准:例如 g++ -std=c++17 -O2 -g hello.cpp -o hello
- 多版本管理建议
- 优先使用 SCL 按需启用不同版本,避免直接替换 /usr/bin/gcc;确需替换时先备份,例如:
- 备份:sudo mv /usr/bin/gcc /usr/bin/gcc-4.8.5
- 软链:sudo ln -s /opt/rh/devtoolset-11/root/usr/bin/gcc /usr/bin/gcc
- 对 g++ 执行相同操作(谨慎操作,生产环境建议先评估影响)
- 开发工具与头库
- 安装 libstdc+±devel 以获取标准库头文件与链接库支持
- IDE/编辑器配置
- 在 VS Code 中如出现头文件找不到,可在设置中指定编译器路径为 /usr/bin/g++(或实际路径)。