1 问题发现


目前正在使用Ubuntu 14.04 LTS, 虽然更新了HWE之后, 系统仍然在不断的维护he更新, 但是编译工具是不会更新的, 如果目前我还在使用Ubuntu 14.04, 是无法体验新版gcc的. 怎么办呢?

2 问题解决


其实, 在toolchain/test下已经有打包好的gcc, 版本有4.x、5.0、6.0等, 并为Ubuntu10.04~16.04军均提供了gcc包, 如下图所示

用这个PPA升级gcc就可以啦

2.1 添加源


首先添加ppa到库:


  1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test

  2. sudo apt-get update

2.2 安装新版gcc/g++


默认在系统中安装的是gcc-4.8, 但现在都什么年代了万一有重要或者好玩的更新呢, 接着就可以选择安装gcc-4.9, gcc-5之类的啦!(注意目前gcc-5实际上是5.3.0,没有5.1或5.2可供选择)


  1. sudo apt-get install gcc-4.8 g++-4.8

  2. sudo apt-get install gcc-4.9 g++-4.9

  3. sudo apt-get install gcc-5 g++-5

  4. sudo apt-get install gcc-6 g++-6

具体希望安装哪个版本, 大家可以自己选择

2.3 更新系统(可选)


下面这个过程是可选的(非必须), 当然我们也可以直接使用upgrade或者dist-upgrade更新来更新gcc/g++

sudo apt-get upgrade

  • upgrade更新可以看到提示出The following packages have been kept back, 说明有部份packages的安装版比release版新, 因此我们使用apt-get -u dist-upgrade统一更新到发布的版本. 这条命令会强制更新软件包到最新版本,并动解决缺少的依赖包.
sudo apt-get dist-upgrade

2.4 刷新db并locate


接着现在可以考虑刷新一下, 否则locate等命令是找不到的, 这个也是可选的(非必须)


  1. sudo updatedb && sudo ldconfig

  2. locate gcc | grep -E "/usr/bin/gcc-[0-9]"

  3. locate g++ | grep -E "/usr/bin/g\+\+-[0-9]"

通过locate可以发现, 我们系统中安装了gcc-4.8和gcc-6两个gcc版本

2.5 切换gcc/g++版本


出与安全和稳定性的考虑, 目前位置我们系统中gcc -v查看到的版本仍然是gcc-4.8, 因此需要我们自己做链接

我们正常使用的gcc/g++其实都是/usr/bin/gcc/usr/bin/g++, 他们指向了/usr/bin下真正版本的gcc/g++程序

因此我们只需要将标准的gcc/g++连接到我们期望的gcc/g++程序即可, 我们有如下两种方式建立链接

  • 自己通过ln命令创建链接

  • 通过update-alternatives建立文件关联

自己通过ln命令创建链接


  1. cd /usr/bin

  2. sudo rm gcc

  3. sudo ln -s gcc-6 g++

  4. sudo rm g++

  5. sudo ln -s g++-6 g++

通过update-alternatives建立文件关联

如果安装了同一个软件的不同版本,可以使用update-alternatives命令设置默认使用哪个版本,典型的如在Ubuntu 14.04里安装了gcc-4.8和gcc-6, 想让gcc命令自动使用gcc-6版

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

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

  2. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20

  3. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

自此我们的系统就默认选择了优先级最高的gcc版本, 具体选择依配置而定, 可以使用update-alternatives --config修改配置

  • 查询系统中安装有哪些版本
sudo update-alternatives --query gcc

  • 使用交互方式的命令选择默认使用的版本
sudo update-alternatives --config gcc

同理修改g++的方式类似


  1. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20

  2. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50

Ubuntu升级GCC版本相关推荐

  1. Mac中使用port升级gcc版本

    Mac中使用port升级gcc版本 Mac OS中的gcc版本可能不会满足实际使用要求,需要对其升级. 这里介绍使用port方式来升级gcc版本.Macports是Mac OS中的软件包管理工具. 首 ...

  2. 关于如何升级gcc版本及相关的标准库问题

    关于如何升级gcc版本及相关的标准库问题 文章目录 关于如何升级gcc版本及相关的标准库问题 第一大步:先升级gcc 第二大步:更新标准库(libstdc++.so.6) 第一大步:先升级gcc (这 ...

  3. 【国产化系列】银河麒麟V10系统上升级gcc版本

    DATE: 2021.10.15 文章目录 1.前言 2.参考 3.gcc源码下载 4.gcc7.5.0安装步骤 4.1.安装依赖 4.2.configure 4.3.make 1.前言 银河麒麟V1 ...

  4. 利用 scl 为 CentOS 升级 gcc 版本

    利用 scl 为 CentOS 升级 gcc 版本 (一)背景 在搞 dpvs 期间遇到的一个问题,在编译 dpdk 程序时会根据所在服务器的 cpu 所拥有的指令集,为了尽可能提高程序效率,将较新的 ...

  5. centos7升级gcc版本,无需手动下载源码编译

    centos7升级gcc版本,无需手动下载源码编译 第一步: 安装centos-release-scl 第二步: 安装devtoolset 第三步: 激活对应的devtoolset 第四步: 查看版本 ...

  6. linux下升级g 版本,linux下升级gcc版本(gcc-7)

    ubuntu16.04的自带gcc版本为gcc-5,因为安装pl-slam的需要升级到gcc-7,可以通过以下命令查看你的gcc版本 gcc --version 通过apt工具对gcc进行升级 sud ...

  7. centos7 升级 gcc 版本

    GNU Mirror List 查看动态库版本 strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI' 查找gcc生成的最新动态库 find / -name ...

  8. 红帽linux 下qt 5.13.1 编译 mysql80驱动(内含升级gcc版本)

    前言: 本地一台redhat linux虚拟机已经安装了qt5.13.1以及mysql80 详细的安装流程可通过如下链接查看 linux 安装qt    安装mysql 在qt的数据库编程阶段,需要对 ...

  9. CentOS下快速升级gcc版本

    前言 很多时候由于gcc版本过低问题,导致我们举步维艰,从gcc官网下载源码编译又比较费时费力,今天我就给大家分享一个快速升级gcc的方法 升级到gcc 6.3:devtoolset-6已经结束支持, ...

最新文章

  1. python填写excel-Python|读、写Excel文件(三种模块三种方式)
  2. 攻防世界-web-ics-04-从0到1的解题历程writeup
  3. python使用elasticsearch维护数据_使用Python对ElasticSearch获取数据及操作
  4. 使用指针星号转移c语言,C中的指针:何时使用号和星号?
  5. vb net excel 剪贴板 粘贴_excel表格操作: 图形和图表编辑技巧汇总(一)
  6. window.innerHeight和document.documentElement.clientHeight区别
  7. Redis 管理工具 TreeNMS
  8. C语言图书管理系统 文件数据库
  9. 《计算机操作系统》思维导图
  10. java图片透明化处理_java的图片背景透明及透明度处理
  11. cad抛物线曲线lisp_cad画缓和曲线lisp程序(1)
  12. echarts 生成 迁徙图_echarts3 迁徙图 迁入迁出
  13. 用ViewPager实现微信tab切换
  14. Phil Coulson
  15. mac系统安装win10双系统
  16. html隐藏微信举报菜单代码,微信开发-隐藏微信浏览器顶部菜单
  17. 自学PS-持续更新 共勉
  18. python爬虫豆瓣高分电影前一百部
  19. 基于边缘计算的视觉感知研究
  20. php微信图文分析数据库,获取某微信公众号所有文章且进行分析

热门文章

  1. opencv-python 学习前的准备——Numpy-python详细教程2
  2. The Lost Art of Structure Packing
  3. 零基础入门学Python---017/018/019/020/021函数
  4. idea 的奇葩问题
  5. java的amazons3增删改,Java AmazonS3.deleteObject方法代码示例
  6. Opengl ES之着色器
  7. DIV布局之道四:clear:both清除DIV两侧浮动详解
  8. 集成电路相关电子书3
  9. 普罗米修斯Prometheus的安装及Grafana使用
  10. Socket错误是什么