Linux下升级gcc(亲测可用)

本文详细描述了如何在Linux环境下,使用CMake编译时遇到GCC版本过低的问题,通过下载并逐步升级GCC13.2.0的过程,包括下载、配置、编译和安装,以及设置环境变量的步骤。

1. 前言

        今天在Linux下用CMake编译第三方开源库,提示gcc版本太低,让装gcc 10或更高版本,我本机gcc是7.5.0版本的。如何将gcc 7.5.0升级到高版本呢?

2. 具体步骤

gcc-13.2.0下载gcc13.2.0,执行如下命令解压缩:

tar -xzvf gcc-13.2.0.tar.xz

进入解压缩后目录:

cd gcc-13.2.0

运行download_prerequisites脚本,自动下载并解压所需要的依赖文件和库 :

./contrib/download_prerequisites 

 建立编译输出目录

mkdir build

进入编译输出目录:

cd build

说明:升级gcc,必须保证本机装了一个低版本的gcc、g++,否则升级时源码会因没有gcc编译器而不能编译,记住:是升级gcc,而不是从无到有安装gcc。

非root用户执行如下命令生成makefile文件:

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=/usr/local/gcc-13.2.0

其中/usr/local/gcc-13.2.0表示编译完成安装目录,请事先确保该目录存在。

–enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用–enable-checking=xxx来增加一些检查。

执行如下命令编译:

make -j8

编译估计耗时4小时,编译完成后,执行如下命令安装:

sudo make install

 执行如下命令打开配置:

sudo vi /etc/profile

在文件末尾输入如下两行: 

export PATH=/usr/local/gcc-13.2.0/bin:/usr/local/gcc-13.2.0/lib64:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib/:$LD_LIBRARY_PATH

保存退出,执行如下命令,使配置生效:

 source /etc/profile

默认情况下,g++位置为:

/usr/bin/g++ 

执行如下命令,做一个软链接,以便将g++指向升级之后的g++ 

sudo ln -s  /usr/local/gcc-13.2.0/bin/g++ /usr/bin/g++

默认情况下,gcc位置为: 

/usr/bin/cc

这里的cc表示c编译器,执行如下命令,做一个软链接,以便将cc指向升级之后的gcc:

sudo ln -s /usr/local/gcc-13.2.0/bin/gcc  /usr/bin/cc

 执行如下命令测试是否升级成功:

gcc -v

 结果如下,证明升级成功。

本文转自:

作者:Cabot16
链接:https://www.jianshu.com/p/ca30d2b61fdc
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值