在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. c# 空接合(??)运算符的运用

    相信很多人都看到??运算符,但是不一定每个人都知道它是用来做什么的,之前我也看到过很多次,但是因为一直没有去用过,所以也没有了解他的作用,今天又看到了,所以查了的MSDN,原来??运算符叫做空接合运算 ...

  2. 从零开始学ios开发(五):IOS控件(2),Slider

    下面继续学习ios的其他控件,这次会使用到的控件有Slider,当然还有一些之前已经使用过的控件Label. 这次我们不新建一个project了,当然如果你愿意重新创建一个新的项目也完全可以,我们还是 ...

  3. 分析 "ADO" "ADODB" "ADODC" 之间的区别与联系

    在敲学生信息管理系统的时候,通过查阅了解了一些关于 ADO / ADODB / ADODC / 的简单描述,想想将他们对 比着总结一下更容易理解记忆.尽管都是一些浅显的东西,不过对像我这样的菜鸟们还是 ...

  4. ajax正确返回数据,却进入了error分支

    .net 开发: $.ajax({ type: "POST", //post没有数据量限制 url: "ashx/PostHandle.ashx", data: ...

  5. NeatUpload 同时选择并上传多个文件

    neatUpload是asp.net 中可以同时上传多个文件的控件,主页:http://neatupload.codeplex.com/. 效果如下图(显示有点不正常...): 使用步骤: 1. 在a ...

  6. 【BZOJ】【1051】【HAOI2005】受欢迎的牛

    按B->A连边,tarjan缩点,然后找入度为0的连通分量,如果有1个,则ans=size[i],如果大于一个则ans=0: 当然如果按A->B连边就是找出度为0的(表示没有被它喜欢的,这 ...

  7. [转载]C#中字典集合的两种遍历

    Dictionary<string, string> dictionary = new Dictionary<string,string>(); foreach (string ...

  8. texCUBE() to CubemapSampler.Sample()

    update dx9 to dx11 refers to   CUBEMAP sampler texCUBE(CubeMpaSampler,normal) maybe change to Cubema ...

  9. PE文件结构详解(二)可执行文件头

    在PE文件结构详解(一)基本概念里,解释了一些PE文件的一些基本概念,从这篇开始,将详细讲解PE文件中的重要结构. 了解一个文件的格式,最应该首先了解的就是这个文件的文件头的含义,因为几乎所有的文件格 ...

  10. Unity3D 优化相关

    抛砖引玉: http://www.luzexi.com/unity3d%E4%BC%98%E5%8C%96%E4%B9%8B%E8%B7%AF/ 关于图片 一.Unity3D自身会把导入的图片进行压缩 ...