Ubuntu不用下载tar包升级gcc/g++版本步骤

Ubuntu升级gcc/g++版本

一、
参考链接:https://www.linuxidc.com/Linux/2016-11/136840.htm
默认在系统中安装的是gcc-4.8,可当某次做实验的时候报错:

	*** Your GCC is older than 6.0 and is not supported

提示我需更新gcc的版本。系统虽然在不断的维护和更新, 但是编译工具是不会更新的,这就需要我动手解决了。

当需要确定计算机中的套件资讯是最新的,就可以执行一次 “sudo apt-get update” 更新最新的套件资讯。
然后可以用 “sudo apt-get upgrade” 更新所有有新版本的套件。

sudo apt-get update
这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。我们在新立得软件包管理器里看到的软件列表,都是通过update命令更新的。
update后,可能需要upgrade一下。

sudo apt-get upgrade
这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。如果你的软件都是最新版本,会提示:
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
总而言之,update是更新软件列表,upgrade是更新软件。

#查看当前使用的gcc版本命令:
gcc -v
#更新软件源指令:
sudo apt-get update
#更新软件指令:
sudo app-get upgrade

二、
1、查看目前GCC的最新版本
可在该地址进行查看。(有需要的也可以在这里下载相应的源码包,本方法并不涉及下载压缩包更新gcc的方法)
http://ftp.gnu.org/gnu/gcc/

2、添加相应的源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test

3、更新软件源
sudo apt-get update

4、安装最新版gcc
sudo apt-get install gcc-11

也可以安装自己想要的某个版本,直接将后面的版本号修改就行。
比如下载6.2.0版本:sudo apt-get install gcc-6.2.0

5、刷新db然后用locate查看我们已有哪些版本的GCC
locate 用来查找文件或目录。比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db ,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,因此,有时会找到已经被删除的数据,而刚刚建立文件却无法查找到。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库,然后再查找。
a、用这个就行了
sudo updatedb && sudo ldconfig
locate gcc | grep -E “/usr/bin/gcc-[0-9]”
b、
which gcc
在这里插入图片描述

6、切换到最新的gcc版本
通过update-alternatives建立文件关联
如果安装了同一个软件的不同版本,可以使用update-alternatives命令设置默认使用哪个版本,典型的如在Ubuntu 14.04里安装了gcc-4.8和gcc-9, 想让gcc命令自动使用gcc-9版

首先要让系统知道我们安装了多个版本的gcc

命令最后的 20和50是优先级,如果使用auto选择模式,系统将默认使用优先级高的

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

请添加图片描述
设置gcc-9的优先级比gcc-4.8的优先级高,再自动模式下就会默认使用优先级高的gcc版本。
这时可以使用 gcc -v 查看默认使用的gcc版本
在这里插入图片描述

想通过下载压缩包更新gcc的可以参考链接:
Linux升级gcc到最新版本gcc-11.2.0:https://blog.csdn.net/qq_41054313/article/details/119453611?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163767069616780269823141%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163767069616780269823141&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-3-119453611.first_rank_v2_pc_rank_v29&utm_term=gcc%E6%9C%80%E6%96%B0%E7%89%88%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
参考链接:
Ubuntu升级GCC版本:https://www.linuxidc.com/Linux/2016-11/136840.htm
updatedb、locate命令:https://blog.csdn.net/kekuangshuang9528/article/details/106466785?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%88%B7%E6%96%B0db%E5%B9%B6locate&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-106466785.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
linux命令系列 sudo apt-get update和upgrade的区别:https://www.cnblogs.com/fenglongyu/p/8654991.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值