How to upgrade gcc using apt-get ?
在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版本就已经完成了。
参考链接:
——本文原创by BlackStorm,转载请注明出处
本文链接: http://www.cnblogs.com/BlackStorm/p/5183490.html
How to upgrade gcc using apt-get ?的更多相关文章
- 虚拟机Ubuntu18.04——gcc版本的升降
致读者:这是本人第一篇博客,小试牛刀,希望能在以后的道路中分享出更多实用的技巧和知识,大家一起进步. 操作环境: VMware Workstation 14Pro .64位Ubuntu18.04系统 ...
- gcc 升级方法
Want GCC 4.8 with c++11 complete feature? Well here’s how to install it in Ubuntu 12.04, Ubuntu 13.0 ...
- 一、apt的简介
一.apt的简介 apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理工具. 最初需要在Linux系统中安装软件,需要自行编译各类软件,缺乏一个统一管理软件包 ...
- 树莓派deian的linux常用命令
Linux系统,这个强大的系统,现在树莓派也要用到.给大家普及一下. 那些常用的Linux命令 linux的文件结构 / 根目录下的目录 /bin /home /dev /usr /opt /et ...
- Jetson TX1 install Opencv3
https://jkjung-avt.github.io/opencv3-on-tx2/ 注意:在编译的时候会遇到内存空间不足的情况,可以插入U盘,将程序拷贝到U盘内编译,然后安装到Jetson上.U ...
- 使用Qemu运行Ubuntu文件系统(1)
参考 https://blog.csdn.net/mountzf/article/details/51707853 https://blog.csdn.net/stephen_lu_fahai/art ...
- systemtap notes
systemtap notes -- 10 June 2014 1 Systemtap systemtap是红帽开发的一款分析工具,如果你需要使用的话,最好在redhat的系统上,在 Ubuntu上兼 ...
- WSL Ubuntu 18.04 LTS + VS Code
WSL Ubuntu 18.04 LTS + VS Code WSL(Windows Subsystem for Linux)使得Windows用户能够在Windows系统上使用原生的Linux环 ...
- wsl2安装百度apollo及其基本配置
一. wsl2的开启 首先 WSL2 gui 需要Windows 11 Build 22000版本以上才支持 利用管理员权限打开PowerShell 执行 dism.exe /online /enab ...
随机推荐
- 【转载】MySQL查询阻塞语句
select r.trx_id waiting_trx_id, r.trx_mysql_thread_Id waiting_thread, r.trx_query waiting_que ...
- Object.keys()
Object.keys(obj),返回一个数组,数组里是该obj可被枚举的所有属性名.请看示例: 示例一: function Pasta(grain, width, shape) { this.gra ...
- NSRange、NSPoint(CGPoint)、NSSize(CGSize)、NSRect(CGRect)
1.NSRange: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange本身是系统 ...
- apache + tomcat 集群
apache2.2与tomcat集成(可以多个tomcat) 需求概况: 有3个服务: localhost:9091, localhost:9190. localhost:9191分别对应3个tomc ...
- 【POJ】【2151】Check the difficulty of problems
概率DP kuangbin总结中的第8题 一开始题目看错导致想转移方程想错了……想成f[i][j]表示前 i 个队伍中最多的做出来 j 道题的概率……sigh 看了下题解……其实是对于每个队伍 i 单 ...
- TesserOCR训练
1.CMD命令行进入 图片目录.运行: tesseract.exe testcode.tif testcode batch.nochop makebox 注意:上面的 testcode 名称 必须保持 ...
- oracle 字符集导入、导出 、转换
导入导出及转换 导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用. 在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置 ...
- MonoBehaviour.StopCoroutine
MonoBehaviour.StopCoroutine Description Stops all coroutines named methodName running on this behavi ...
- 判断不同IOS设备
var iOSGen = iPhone.generation; if (Debug.isDebugBuild) { Debug.Log("iPhone.generation : " ...
- Chp18: Hard
18.1 Write a function that adds two numbers. You should not use + or any arithmetic operators. Solut ...