如何卸载低版本GCC升级到高版本

本文介绍了如何卸载低版本的GCC 4.8.5并升级到10.3.0。首先,从GCC官网和日本镜像站下载所需包,然后安装必要的库和依赖。接着,逐个编译安装gmp、mpfr、isl和mpc。最后,在成功编译安装GCC 10.3.0后,卸载旧版本,并刷新环境变量确保新版本生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景

通过 yum install gcc gcc-c++ 安装的gcc默认版本为4.8.5,不支持一键式升级。当前环境需要升级gcc至10.3.0

安装包

通过登录gcc官网 https://gcc.gnu.org/ ,跳转至镜像站 http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/ (日本镜像站,速度较快)

安装压缩包并解压

cd /opt/buildtools # 任意目录都可
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-10.3.0/
tar zxvf gcc-10.3.0.tar.gz

安装需要的库

安装需要的C和C++静态库
yum install -y glibc-static libstdc++-static

下载需要的依赖包

进入解压后的gcc目录,执行自动二进制下载脚本下载所需要的依赖(四个依赖包 gmp-6.1.0,isl-0.18,mpc-1.0.3,mpfr-3.1.4)

<think>我们参考用户的问题,用户希望将CentOS 7的GCC升级到9版本,而不是10版本。根据引用[1]中的提示,我们可以使用devtoolset-9来安装GCC 9。同时,引用[2]提到了一种获取yum源的方法,但这里我们更关注使用SCL仓库的标准方法。 步骤: 1. 启用SCL仓库(如果尚未启用) 2. 安装devtoolset-9 3. 启用GCC 9(临时或永久) 注意:CentOS 7默认GCC版本为4.8.5,升级到9版本后,系统默认GCC不会改变,而是通过环境切换来使用新版本。 具体步骤:</think>### 在 CentOS 7 上使用 Yum 升级 GCC 到版本 9 以下是完整升级步骤,基于 **Developer Toolset (SCL)** 仓库实现: --- ### 一、安装准备 1. **启用 SCL 仓库** 安装软件集合仓库(若未启用): ```bash sudo yum install centos-release-scl -y ``` 2. **更新系统** ```bash sudo yum update -y ``` --- ### 二、安装 GCC 9 1. **安装 Developer Toolset 9** ```bash sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ -y # 引用[1] ``` 2. **验证安装** ```bash yum list installed | grep devtoolset-9 ``` 应包含: ``` devtoolset-9-gcc.x86_64 devtoolset-9-gcc-c++.x86_64 ``` --- ### 三、启用 GCC 9 #### 方法 1:临时启用(当前会话) ```bash scl enable devtoolset-9 bash ``` #### 方法 2:永久启用(用户级) 1. 编辑 `~/.bashrc`: ```bash echo 'source /opt/rh/devtoolset-9/enable' >> ~/.bashrc ``` 2. 立即生效: ```bash source ~/.bashrc ``` #### 验证版本 ```bash gcc --version ``` 输出应为: ``` gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) ``` --- ### 四、多版本管理 | 项目 | 默认 GCC 4.8.5 | GCC 9 | |---------------|-----------------------|---------------------------| | 路径 | `/usr/bin/gcc` | `/opt/rh/devtoolset-9/root/usr/bin/gcc` | | 启用命令 | 系统默认 | `scl enable devtoolset-9 bash` | | 共存方式 | 不冲突 | 通过环境变量切换 | 编译时显式指定编译器: ```bash /opt/rh/devtoolset-9/root/usr/bin/g++ -o program source.cpp ``` --- ### 五、测试 C++17 支持 ```cpp #include <iostream> #include <variant> int main() { std::variant<int, std::string> v = "Hello"; std::cout << std::get<std::string>(v) << std::endl; } ``` 编译: ```bash g++ -std=c++17 test.cpp -o test ``` --- ### 六、卸载方法 ```bash sudo yum remove devtoolset-9-\* -y # 引用[1] rm -f ~/.bashrc # 或手动删除添加的启用命令 ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值