linux中gcc版本升级

环境

Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020 

 目前gcc版本4.8.5

正文

所需资源可以在gnu安装包下载_开源镜像站-阿里云下载

包括:

  • gcc-10.1.0
  • gmp-5.0.1
  • mpc-1.0.1
  • mpfr-3.1.5

 

 全部解压

tar -vxf gmp-5.0.1.tar.bz2

tar -vxf mpfr-3.1.5.tar.xz

tar -vxf mpc-1.0.1.tar.gz

tar -vxf gcc-10.1.0.tar.gz

 

 在/user/local下创建目录

[root@localhost local]# mkdir mpc-1.0.1
[root@localhost local]# mkdir gmp-5.0.1
[root@localhost local]# mkdir mpfr-3.1.5

 安装gmp,返回解压的文件目录:注意查看执行时有没有报错,如果有,针对解决。

[root@localhost soft]# cd gmp-5.0.1/
[root@localhost gmp-5.0.1]# ./configure --prefix=/usr/local/gmp-5.0.1

[root@localhost gmp-5.0.1]# make

[root@localhost gmp-5.0.1]# make install

安装mpfr

[root@localhost gmp-5.0.1]# cd ../mpfr-3.1.5/
[root@localhost mpfr-3.1.5]# ./configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-5.0.1

[root@localhost mpfr-3.1.5]# make

[root@localhost mpfr-3.1.5]# make install

 安装mpc

[root@localhost gmp-5.0.1]# cd ../mpc-1.0.1/
[root@localhost mpfr-3.1.5]# ./configure --prefix=/usr/local/mpc-1.0.1 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5

[root@localhost mpfr-3.1.5]# make

[root@localhost mpfr-3.1.5]# make install

 配置gcc

[root@localhost soft]# cd gcc-10.1.0/
[root@localhost gcc-10.1.0]# mkdir build
[root@localhost gcc-10.1.0]# cd build
[root@localhost gcc-10.1.0]# ../configure --prefix=/usr/local/gcc-10.1.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.1

[root@localhost gcc-10.1.0]# make -j4    //时间会比较久一点

[root@localhost gcc-10.1.0]# make inistall

 把之前版本gcc相关修改名字,因为版本是4.8.5,所以改名485

[root@localhost bin]# mv /usr/bin/gcc /usr/bin/gcc485
[root@localhost bin]# mv /usr/bin/g++ /usr/bin/g++485
[root@localhost bin]# mv /usr/bin/c++ /usr/bin/c++485
[root@localhost bin]# mv /usr/bin/cc /usr/bin/cc485

 把刚才配置好的gcc链接到环境变量

[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/gcc /usr/bin/gcc
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/g++ /usr/bin/g++
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/c++ /usr/bin/c++
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/bin/gcc /usr/bin/cc

 与上类似的

[root@localhost bin]# mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
[root@localhost bin]# ln -s /usr/local/gcc-10.1.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6

 最后查看gcc版本

 成功升级

参考

Linux gcc升级全过程,过程超详细_IT邦德的博客-CSDN博客_升级gcc

### 升级 GCC 到最新版本的方法 在 Linux 系统中升级 GCC 版本可以通过多种方式实现,具体取决于目标系统的配置以及所需的 GCC 版本。以下是两种常见的方法来完成此操作。 #### 方法一:通过源码编译安装 GCC 这种方法适用于需要特定版本的 GCC 或者系统默认仓库不提供所需版本的情况。以下是具体的流程: 1. **下载 GCC 的源码包** 需要访问官方 GNU 官网或者镜像站点获取最新的 GCC 源码包,并将其解压至指定目录[^1]。 2. **准备依赖项** 在 CentOS 7 中,默认可能缺少一些必要的开发工具和库文件。可以运行以下命令安装这些依赖项: ```bash sudo yum groupinstall "Development Tools" sudo yum install gmp-devel mpfr-devel libmpc-devel ``` 3. **创建构建目录并执行配置脚本** 不建议直接在源码根目录下进行编译,因此需新建一个独立的构建目录用于后续操作。 ```bash mkdir build-gcc && cd build-gcc ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-11 ``` 上述 `--program-suffix` 参数是为了避免覆盖现有的旧版 GCC 可执行程序。 4. **编译与安装** 使用 `make` 命令启动编译过程,完成后利用 `sudo make install` 将新版本安装到系统路径中。 ```bash make -j$(nproc) sudo make install ``` #### 方法二:借助 SCL 软件集合快速切换 GCC 版本 对于某些发行版(如 CentOS),可以直接采用预打包好的软件集合简化更新流程。 1. **启用 Software Collections 存储库** 执行如下指令加载额外资源支持较新的编译器系列[^2]: ```bash sudo yum install centos-release-scl ``` 2. **安装 DevToolSet 工具链中的高版本 GCC 组件** 此处以 devtoolset-9 为例说明如何引入兼容性更高的 C/C++ 编译环境。 ```bash sudo yum install devtoolset-9-gcc* ``` 3. **激活对应环境变量设置** 启动会话期间临时替换标准工具链为所选的新版本。 ```bash scl enable devtoolset-9 bash ``` 验证当前使用的 GCC 是否已成功更改为预期的目标版本可通过简单测试确认: ```bash gcc --version ``` 以上即是在 Linux 平台上针对不同场景分别采取的手动定制化方案或是基于现有机制便捷调整的方式介绍[^1]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值