文档章节

Ubuntu,安装最新版的GCC

lieefu
 lieefu
发布于 2015/12/21 08:12
字数 841
阅读 665
收藏 1

Ubuntu最新gcc版本在ppa:ubuntu-toolchain-r/test中,
可以点击这个网址查看 https://launchpad.net/~ubuntu-toolchain-r/+archive/test  
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get install gcc-5
sudo apt-get install g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30 --slave /usr/bin/g++ g++ /usr/bin/g++-5 

 

sudo update-alternatives --config gcc

 

/////////////////////////////////////////////////////////////////////////

命令知识:
update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如,我们在系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30 --slave /usr/bin/g++ g++ /usr/bin/g++-5 
其中30 为alternative更改后的优先级,新更改的优先级需要大于当前的,通过update-alternatives --display gcc 可以查看。
现在介绍下 update-alternatives 命令中的几个主要选项,diplay、install、remove、config; 
   1、display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。使用语法:update-alternatives --display name ,其中name为命令链接名称,如java,执行命令: update-alternatives --display gcc 将会出现类似下面的结果
$ update-alternatives --display gcc
gcc - auto mode
  link currently points to /usr/bin/gcc-5
/usr/bin/gcc-4.9 - priority 20
  slave g++: /usr/bin/g++-4.9
/usr/bin/gcc-5 - priority 30
  slave g++: /usr/bin/g++-5
Current 'best' version is '/usr/bin/gcc-5'.


   2、install选项的功能就是增加一组新的系统命令链接符了,使用语法为:update-alternatives --install link name path priority [--slave link name path]... 其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java; path为你所要使用新命令、新软件的所在目录; priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接; --slave为从alternative。

    alternative有两种模式:auto和manual,默认都为auto模式,因为大多数情况下update-alternatives命令都被postinst (configure) or prerm (install)调用的,如果将其更改成手动的话安装脚本将不会更新它了。


   3、remove选项的功能是删除一个alternative及相关从alternative,使用语法为:update-alternatives --remove name path,其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接。

   4、config选项功能为在现有的命令链接选择一个作为系统默认的,使用语法为:update-alternatives --config name,如执行:sudo update-alternatives --config gcc,将会有类似以下信息:
    $ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).


  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-5     30        auto mode
  1            /usr/bin/gcc-4.9   20        manual mode
  2            /usr/bin/gcc-5     30        manual mode

 

 


   若是想将manual改回自动模式的话,执行命令: update-alternatives --auto name即可,如
update-alternatives --config  gcc

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
lieefu
粉丝 91
博文 120
码字总数 26366
作品 3
济南
高级程序员
私信 提问
在 Ubuntu 12.04 下编译 GCC 4.7

本文将介绍如何在 Ubuntu 12.04 下编译 gcc 4.7,我很奇怪的是在 Ubuntu 下编译 gcc 源码也那么复杂,不过 Ubuntu 也是 Linux 系统之一,就没什么好奇怪的了。 首先检查你是否已经默认安装 ...

红薯
2012/04/18
31K
9
在 Ubuntu 12.04 下编译 GCC 4.7

本文将介绍如何在 Ubuntu 12.04 下编译 gcc 4.7,我很奇怪的是在 Ubuntu 下编译 gcc 源码也那么复杂,不过 Ubuntu 也是 Linux 系统之一,就没什么好奇怪的了。 首先检查你是否已经默认安装 ...

彭博
2012/11/27
360
0
Ubuntu 12.10 正式版发布

Canonical 官方已经发布了 Ubuntu 12.10 正式版本,目前官方称在伦敦时间 18 日正式发布下载,由于时差的关系,应该到明天大家就能从 Ubuntu 官方下载 Ubuntu 12.10 正式版本! Ubuntu 12.10...

oschina
2012/10/19
22.4K
46
解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文

ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用。 想必是qt版本的原因吧。 ...

oppotvr
2014/11/06
0
3
在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0

大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物——现在合并为一个代码库。这次最主要的变化是 Node.js 封装了4...

酱醋茶丶
2015/10/12
48
0

没有更多内容

加载失败,请刷新页面

加载更多

前端、后端和全栈到底不该学什么

1、前言 在职业规划咨询过程中经常会被问到这样的问题: 老师,我是该深入钻研专精一门,走技术大牛路线,还是所有都要精通,做一个全栈工程师? 类似问题的变种还有,老师我是不是该30岁最迟...

前端攻城小牛
28分钟前
2
0
【git命令】git-stash

应用场景 应用场景:使用git的时候,我们往往使用branch解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们...

echojson
29分钟前
0
0
centos7.3编译安装OpenSSL1.1.1b

简介 OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 安装 下载:下载地址 ...

阿dai学长
31分钟前
1
0
0基础【转行】大数据

目前大数据行业异常火爆,不少人都对大数据充满了兴趣,其中有大部分人都是之前没有接触过计算机技术的,对编程语言也不太了解,那是不是这部分零基础的朋友就学不了大数据了呢?答案当然是否...

董黎明
32分钟前
1
0
Krpano 动态传参-action

效果解释:点击热点1,触发显示或隐藏热线2。 hotspot等标签允许编写自定义属性,这里直接设置自定义属性为dk=spot6,点击spot7,显示或隐藏spot6。 action方法体中,直接引用get(dk)即可获得...

华山猛男
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部