jeffreylee的个人主页

http://www.qtcn.org/bbs/u/139371  [收藏] [复制]

jeffreylee

宁静致远

  • 20

    关注

  • 27

    粉丝

  • 117

    访客

  • 等级:侠客
  • 身份:论坛版主
  • 总积分:158
  • 男,1971-01-21

最后登录:2023-07-06

更多资料

日志

Ubuntu linux下升级GCC到gcc4.8.1

2013-07-15 16:24
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-4.8
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --config gcc
sudo update-alternatives --config g++


/////////////////////////////////////////////最新发现,下面这个较好,  统一叫gcc,可以使用sudo update-alternatives --config gcc 一起切换

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --config gcc


//////////////////////////////////////////////////////////////////////
命令知识:
update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本,比如,我们在系统中同时安装了open jdk和sun jdk两个版本,而我们又希望系统默认使用的是sun jdk,那怎么办呢?通过update-alternatives就可以很方便的实现了。

  sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_27/bin/java 1062  

其中1062 为alternative更改后的优先级,新更改的优先级需要大于当前的,通过update-alternatives --display java 可以查看。

现在介绍下 update-alternatives 命令中的几个主要选项,diplay、install、remove、config;

   1、display选项的功能就是查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。使用语法:update-alternatives --display name ,其中name为命令链接名称,如java,执行命令: update-alternatives --display java 将会出现类似下面的结果

    java - auto mode
        link currently points to /opt/java/jdk1.6.0_27/bin/java
    /opt/java/jdk1.6.0_27/bin/java - priority 1062
    /usr/lib/jvm/java-6-openjdk/jre/bin/java - priority 1061
      slave java.1.gz: /usr/lib/jvm/java-6-openjdk/jre/man/man1/java.1.gz
    Current 'best' version is '/opt/java/jdk1.6.0_27/bin/java'.


   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 java,将会有类似以下信息:
    There are 2 choices for the alternative java (providing /usr/bin/java).

      Selection    Path                                      Priority   Status
    ------------------------------------------------------------
    * 0            /opt/java/jdk1.6.0_27/bin/java             1062      auto mode
      1            /opt/java/jdk1.6.0_27/bin/java             1062      manual mode
      2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode

    Press enter to keep the current choice[*], or type selection number:

   若是想将manual改回自动模式的话,执行命令: update-alternatives --auto name即可,如
update-alternatives --config  java
分类:默认分类|回复:2|浏览:6634|全站可见|转载
 
 
删除

hp_201111:请教 LZ
我的 ubuntu  12.04  32bit , Qt5.1 是  opensource-5.1.0-android-x86-offline.run 。GCC是 4.62
GCC有升级到  4.8.1 的必要吗?

2013-07-15 20:31 -

jeffreylee:看你自己了,如果打算使用C++11语句,就升级

2013-07-16 10:05

Powered by phpwind v8.7 Certificate Copyright Time now is:04-30 12:18
©2005-2016 QTCN开发网 版权所有 Gzip disabled