Ubuntu升级GCC版本

Ubuntu升级GCC版本

参考链接: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命令,手动更新数据库,然后再查找。

sudo updatedb && sudo ldconfig
locate gcc | grep -E "/usr/bin/gcc-[0-9]"

请添加图片描述

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版本
Ubuntu升级GCC版本_第1张图片


想通过下载压缩包更新gcc的可以参考链接:
Linux升级gcc到最新版本gcc-11.2.0
参考链接:
Ubuntu升级GCC版本
updatedb、locate命令
linux命令系列 sudo apt-get update和upgrade的区别

你可能感兴趣的:(笔记,linux,ubuntu,gcc/gdb编译调试,u-boot)