CentOS 升级GCC

升级包链接

http://mirrors-usa.go-parts.com/gcc/

升级shell脚本

#!/bin/sh

gcc_upgrade()
{
    tar -xvf gmp-6.1.0.tar.bz2
    cd gmp-6.1.0 
    ./configure && make -j8 && make install
    cd ..
    
    tar -xvf mpfr-3.1.4.tar.bz2
    cd mpfr-3.1.4
    ./configure && make -j8 && make install
    cd ..
    
    tar -xvf mpc-0.8.1.tar.gz
    cd mpc-0.8.1
    sed -i "192c //: rnd_im == GMP_RNDA ? GMP_RNDZ"  src/acos.c
    ./configure && make -j8 && make install
    cd ..
    
    tar -xvf isl-0.18.tar.bz2 
    cd isl-0.18
    ./configure && make -j8 && make install
    cd ..
    
    yum install glibc-devel.i686
    yum install libgcc.x86_64
    yum install libgcc.i686
    
    tar -xvf gcc-8.3.0.tar.gz
    cd gcc-8.3.0
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64:/usr/local/lib
    ./configure && make -j8 && make install
    cd ..
}

gcc_upgrade
 

### 如何在 CentOS升级 GCC 版本 #### 使用 Software Collections (SCL) 对于 CentOS 7 用户来说,官方源中的 GCC 版本停留在 4.8.5,这显然无法满足现代 C++ 编程的需求。为了获得更高版本GCC 支持,可以利用 Red Hat 提供的 SCL 软件集合来安装较新的 GCC 发行版[^1]。 通过 `yum` 命令查询可用的 devtoolset 中包含的不同版本GCC: ```bash yum list | grep devtoolset | grep gcc.x86_64 ``` 一旦找到了合适的工具集(例如 devtoolset-9),就可以按照如下方式进行安装: ```bash sudo yum install centos-release-scl sudo yum install devtoolset-9-gcc* ``` 完成上述操作之后,可以通过加载环境模块的方式来激活新安装的 GCC 工具链: ```bash scl enable devtoolset-9 bash ``` 这样做的好处在于不会覆盖系统的默认编译器设置,从而保持系统稳定性的同时享受新版 GCC 的特性[^2]。 #### 替换默认路径下的 GCC 链接 如果希望永久改变 `/usr/bin/gcc` 和 `/usr/bin/g++` 所指向的目标文件,则可以在确认已成功安装所需版本后创建相应的符号链接[^3]: ```bash ln -sfv /opt/rh/devtoolset-9/root/usr/bin/{gcc,g++,cpp} /usr/local/bin/ ``` 请注意这样做可能会影响依赖于特定版本 GCC 的其他软件包的行为;因此建议仅当确实有必要时才采取此措施。 #### 手动编译安装 GCC 另一种方法涉及下载指定版本GCC 源码并自行构建和安装它。这种方法虽然较为繁琐但也提供了最大的灵活性[^4]。 首先从 GNU 官方网站或其他可信镜像站点获取目标版本的压缩包,并将其解压至本地工作区: ```bash wget http://ftp.gnu.org/gnu/gcc/gcc-X.Y.Z/gcc-X.Y.Z.tar.gz tar zxvf gcc-X.Y.Z.tar.gz cd gcc-X.Y.Z ``` 接着配置、编译以及安装这个自定义版本GCC : ```bash ./contrib/download_prerequisites mkdir build && cd build ../configure --prefix=/opt/gcc-X.Y.Z \ --disable-multilib \ --enable-languages=c,c++ make -j$(nproc) sudo make install ``` 最后记得更新 PATH 变量以便优先选用新建好的 GCC 实例: ```bash echo 'export PATH="/opt/gcc-X.Y.Z/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值