centos升级安装gcc

文章介绍了如何在已安装GCC的CentOS操作系统上,因源码编译问题需要升级GCC到11.1.0版本的过程。首先下载gcc、gmp、mpfr和mpc的源码,然后依次编译安装这些依赖库,最后编译并使用sudo安装GCC。升级后,可通过`gcc--version`命令检查新版本。

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

新安装的centos操作系统gcc版本是4.8.4很多源码编译不过,例如下边这段源码都无法编译通过

 

    for(int i = 0; i < 100; i++) 

只能写成下边这种形式

    int i = 0;
    for(i = 0; i < 100; i++)

所以需要将现有gcc版本做升级,下方就是编译升级方法

环境准备

    已经安装gcc的linux系统

下载gcc以及依赖

直接编译gcc会报错,提示需要gmp和mpfr或者是mpc,需要将这些源码一并下载,下载地址在下方展示

    wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.xz
    tar -xvf gcc-11.1.0.tar.xz
    wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2
    tar -xvf mpfr-4.1.0.tar.bz2
    wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2
    tar -xvf gmp-6.2.1.tar.bz2
    wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz

编译&安装依赖库

有限先编译安装mpfr和gmp,mpfr依赖gmp所以

    # 编译gmp
    cd gmp-6.2.1
    mkdir build_nj
    cd build_nj
    ../configure --prefix=/home/baser/gccbuilder/install
    make -j10 && make install
    
    # 编译mpfr
    mkdir build_nj
    cd build_nj
    ../configure --prefix=/home/baser/gccbuilder/install --with-gmp=/home/baser/gccbuilder/install
    make -j10 && make install

编译&安装gcc

    mkdir build_nj
    cd build_nj
    ../configure --prefix=/usr/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-mpfr=/home/baser/gccbuilder/install --with-gmp=/home/baser/gccbuilder/install --with-mpc=/home/baser/gccbuilder/install
    export LD_LIBRARY_PATH=/home/baser/gccbuilder/install/lib
    make -j10 && make install
    
    安装失败权限不够,需要加上sudo
    sudo make install

测试

    gcc --version

 

 

### 安装升级GCC至最新版本 #### 使用官方软件集合(SCL) 对于希望快速简便地安装较新版本的GCC而不影响现有环境的情况,推荐采用SCL工具集。通过此方法可以轻松获取并激活特定版本的GCC。 ```bash # 添加SCL仓库支持 yum install centos-release-scl # 对于需要GCC 9.x版本的情形 yum install devtoolset-9-gcc* # 若要使用GCC 8.x,则应执行如下操作 yum install devtoolset-8-gcc* ``` 为了使新的GCC版本生效,需利用`scl`命令来启动相应的Shell会话[^3]: ```bash scl enable devtoolset-8 bash ``` 这一步骤创建了一个临时性的环境,在其中默认使用的将是所选的较高版本的GCC编译器。值得注意的是这种更改仅限于此终端窗口有效;关闭该shell之后,默认设置将会回滚到原始状态。 #### 手动编译安装GCC 如果追求绝对最新的GCC特性或是遇到某些特殊需求无法满足时,可以选择自行下载源码包进行编译安装。不过这种方式相对复杂一些,并且可能涉及到解决依赖关系等问题。 首先从GNU官方网站或其他可信渠道获得目标版本的GCC压缩文件,解压后进入其根目录继续后续工作。这里假设已经完成了这些前置动作。 配置阶段非常重要,它决定了最终构建出来的二进制程序的行为以及放置位置等细节。通常建议指定一个独立路径用于存放新建立好的工具链以免干扰原有系统组件: ```bash mkdir build && cd build ../configure --enable-bootstrap ``` 完成上述准备工作以后就可以正式开始了! ```bash make -j$(nproc) sudo make install ``` 最后验证是否成功替换了原有的gcc链接指向新版本(可选),以便全局范围内都能直接调用更新后的编译器而无需每次都手动加载特定环境变量[^1]: ```bash ln -sf /opt/gcc-latest/bin/gcc /usr/bin/gcc ln -sf /opt/gcc-latest/bin/g++ /usr/bin/g++ ``` 以上两种方案各有优劣,前者简单快捷适合大多数场景下日常开发所需;后者则提供了更大的灵活性和控制力但同时也增加了维护成本和技术门槛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

telllong

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值