使用devtoolset升级GCC版本

本文介绍了如何在CentOS 6.8上升级gcc版本以支持C++11标准。提供了两种升级方法:直接编译安装新版本的gcc和安装devtoolset。详细步骤包括使用yum安装必要的组件和启动devtoolset。

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

工作中有时需要进行gcc的升级,尤其是centOS的用户。centOS上的软件版本一般比较旧,我使用的是centOS 6.8, 该系统上原有的gcc版本是4.4.7, 不支持C++11标准的特性。
最近在工作中遇到要编译一个使用了C++11标准的开源代码,因而需要进行gcc的升级。

gcc 升级的两种方法

目前知道两种升级gcc 的方法:

  • 直接编译安装新版本的gcc (目测前方坑很多)
  • 安装devtoolset来升级gcc, (网上说这种方式很简单)

使用devtoolset升级gcc版本

下面通过devtoolset来升级下gcc
devtoolset目前有4个版本:devtoolset-1.1 devtoolset-2 devtoolset-3 devtoolset-4,以上版本分别对应gcc的版本为4.7、4.8、4.9、5.2。
gcc 4.8好像就完全支持C++11了, 安全起见,我打算安装gcc 4.9。(如果想升级到其他版本,可以google下相关的关键字)
下面是升级步骤(在centOS 6.8上亲测有效)

yum install centos-release-scl-rh centos-release-scl
yum check-update
yum install devtoolset-3-gcc  devtoolset-3-gcc-c++

升级之后需要启动devtoolset

source /opt/rh/devtoolset-3/enable  

测试发现当前命令似乎只对本次shell有效,所以可能需要把这条命令加入到~/.bashrc中。

接下来可以通过gcc -v 查看是否更新完毕。

### 升级 GCC 版本的方法 在 Linux 系统中,可以通过多种方式在线升级 GCC版本。以下是详细的说明: #### 使用包管理器安装更高版本GCC 对于基于 RedHat 或 CentOS 的系统,可以尝试通过 `yum` 安装较新的 GCC 版本。然而,默认仓库可能仅提供较低版本GCC(如 4.8.5),因此需要启用额外的软件源来获取更高的版本。 ```bash sudo yum groupinstall "Development Tools" sudo yum install centos-release-scl sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ ``` 完成安装后,激活新版本GCC 可以通过以下命令实现: ```bash scl enable devtoolset-9 bash ``` 这会临时切换到 GCC 9.x 版本[^1]。 #### 手动编译并安装 GCC 如果默认仓库无法满足需求,则可以选择手动下载、配置和编译最新版的 GCC。具体操作如下: 1. **安装必要的依赖项** 需要先安装一些基础工具和库文件以便支持 GCC 编译过程。 ```bash sudo yum -y install gcc-c++ make libtool bzip2.x86_64 ``` 2. **下载目标版本GCC 源码** 访问官方站点或者镜像地址下载所需版本GCC 压缩包。 ```bash wget https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz tar -xzvf gcc-10.2.0.tar.gz cd gcc-10.2.0 ./contrib/download_prerequisites ``` 3. **创建构建目录并执行配置脚本** 推荐在一个独立的子目录中运行 configure 脚本来避免污染原始源代码树。 ```bash mkdir build && cd build ../configure --prefix=/opt/gcc-10.2.0 --enable-languages=c,c++,fortran --disable-multilib ``` 4. **启动编译与安装进程** 利用多线程加速编译速度,并最终将生成的结果部署至指定路径。 ```bash make -j$(nproc) sudo make install ``` 5. **更新环境变量** 将新建的 GCC 添加到系统的 PATH 中去优先调用它。 ```bash echo 'export PATH=/opt/gcc-10.2.0/bin:$PATH' >> ~/.bashrc source ~/.bashrc gcc --version ``` 以上步骤能够帮助用户成功地把旧有的 GCC 替换成为最新的稳定发行版本之一[^3]。 #### 注意事项 - 在某些情况下,可能会遇到因缺少特定开发头文件而导致失败的情况,请确保所有必需组件均已妥善安置好后再重试。 - 如果当前操作系统本身自带了非常陈旧的基础编译链路,那么第一步就应当考虑先行替换掉它们再继续后续动作[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值