在toolchain/test下已经有打包好的gcc,版本有4.x、5.0、6.0等,用这个PPA升级gcc就可以啦!

首先添加ppa到库:

1 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
2 sudo apt-get update

如果提示未安装,还需要先安装它的包:

1 sudo apt-get install software-properties-common

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

1 sudo apt-get upgrade
2 sudo apt-get install gcc-4.8 g++-4.8
3 sudo apt-get install gcc-4.9 g++-4.9
4 sudo apt-get install gcc-5 g++-5

(非必须)现在可以考虑刷新一下,否则比如locate等命令,是找不到新版本文件所在目录的:

1 sudo updatedb && sudo ldconfig
2 locate gcc

如果是阿里云ECS等做了限制的或者是其他奇怪的系统上,你会发现 gcc -v 显示出来的版本还是gcc-4.8的,因此需要更新一下链接:

 1 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48 \
2 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 \
3 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.8 \
4 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.8 \
5 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.8
6
7 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 49 \
8 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 \
9 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-4.9 \
10 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-4.9 \
11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-4.9
12
13 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 53 \
14 --slave /usr/bin/g++ g++ /usr/bin/g++-5 \
15 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-5 \
16 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-5 \
17 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-5

更新链接不仅仅是为了使用新安装的gcc版本,更重要的是以后可以随时切换。上面的命令是分为3块,每块对应相应的gcc版本,并不是要一股脑全复制粘贴进控制台运行。要注意反斜杠(\)前要有空格,因为它只提供换行的功能。

于是到这里升级gcc版本就已经完成了。

参考链接:

ToolChain - Ubuntu Wiki

ToolChain test builds

——本文原创by BlackStorm,转载请注明出处

本文链接: http://www.cnblogs.com/BlackStorm/p/5183490.html

How to upgrade gcc using apt-get ?的更多相关文章

  1. 虚拟机Ubuntu18.04——gcc版本的升降

    致读者:这是本人第一篇博客,小试牛刀,希望能在以后的道路中分享出更多实用的技巧和知识,大家一起进步. 操作环境: VMware Workstation 14Pro .64位Ubuntu18.04系统 ...

  2. gcc 升级方法

    Want GCC 4.8 with c++11 complete feature? Well here’s how to install it in Ubuntu 12.04, Ubuntu 13.0 ...

  3. 一、apt的简介

    一.apt的简介 apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理工具. 最初需要在Linux系统中安装软件,需要自行编译各类软件,缺乏一个统一管理软件包 ...

  4. 树莓派deian的linux常用命令

    Linux系统,这个强大的系统,现在树莓派也要用到.给大家普及一下. 那些常用的Linux命令 linux的文件结构 /   根目录下的目录 /bin /home /dev /usr /opt /et ...

  5. Jetson TX1 install Opencv3

    https://jkjung-avt.github.io/opencv3-on-tx2/ 注意:在编译的时候会遇到内存空间不足的情况,可以插入U盘,将程序拷贝到U盘内编译,然后安装到Jetson上.U ...

  6. 使用Qemu运行Ubuntu文件系统(1)

    参考 https://blog.csdn.net/mountzf/article/details/51707853 https://blog.csdn.net/stephen_lu_fahai/art ...

  7. systemtap notes

    systemtap notes -- 10 June 2014 1 Systemtap systemtap是红帽开发的一款分析工具,如果你需要使用的话,最好在redhat的系统上,在 Ubuntu上兼 ...

  8. WSL Ubuntu 18.04 LTS + VS Code

    WSL Ubuntu 18.04 LTS + VS Code ​ WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...

  9. wsl2安装百度apollo及其基本配置

    一. wsl2的开启 首先 WSL2 gui 需要Windows 11 Build 22000版本以上才支持 利用管理员权限打开PowerShell 执行 dism.exe /online /enab ...

随机推荐

  1. JAVA类与对象(二)----类定义基础

    类是组成java程序的基本要素,是java中的一种重要的复合数据类型.它封装了一类对象的状态和方法,是这一类对象的原型.一个类的实现包括两个部分:类声明和类体,基本格式: class <clas ...

  2. 日志文件切割服务logrotate配置及crontab定时任务的使用

    1.下载logrotate 在Fedora和CentOS安装 yum install logrotate crontabs Debian和Ubuntu上 apt-get install logrota ...

  3. VBS基础篇 - 变量

    VBScript只有一种数据类型 —— Variant,它是根据上下文来判断是数字还是字符串.因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类 ...

  4. 屌丝IT男

    偶尔翻到豆瓣里一篇对中国屌丝的批评,突然想到当年美国那个垮掉的一代,吸毒,淫乱,绝望的生存,而如今我们苦逼的80后自诩为屌丝的时候,也不想想每一个堕落的时代还是有牛逼的人存在,中国的大学,绝大部分在逃 ...

  5. C# ASP.NET系统缓存全解析

    原文:http://blog.csdn.net/wyxhd2008/article/details/8076105 目录(?)[-] 系统缓存的概述 页面输出缓存 页面局部缓存 文件缓存依赖 数据库缓 ...

  6. Useful related java API for Android

    Language_suport and Other Language-Oriented API: strings,exceptions, threads, #java.lang.* offers th ...

  7. 一个完整openlayer的例子,包括marker,popup等

    整理转自:http://www.blogjava.net/siriusfx/archive/2007/11/26/163104.html openlayers提供了几十个示例,虽然每个示例都很简单,但 ...

  8. vs2008调试提示:未安装Silverlight托管调试包

    换个启动浏览器,解决了. 右击项目,选择“属性”,选择"web";启动操作设置“启动外部程序”,填入浏览器exe的路径. 命令行参数填入地址.即可.

  9. CSS:在input、pre中左边加上一个图标(一行和多行)

    前言 接触过EasyUI的朋友都知道其警告框就是左边有个三角警告图标,此文所做的效果正是这样.此外,还将示例多行的做法. 一.在input左边加上一个图标(一行) 注:left center定义了图标 ...

  10. C# IL DASM 使用

    IL DASM反编译工具 使用C#的猿人或多或少都会对微软的IL反编译工具(ildasm.exe)有所认识.我最早接触到这工具是公司同事使用他反编译exe程序,进行研读和修改.感觉他还是很强大. IL ...