Ubuntu linux下gcc版本切换

时间:2024-03-05 21:33:13

  Ubuntu更新后,相对应的gcc版本也会更新,有些程序需要调用到本地的gcc来编译相对应的服务以及程序,在嵌入式linux开发中有时候需要本地的gcc来编译一个交叉编译器。基于这个原因有时候需要切换gcc的版本比如说高版本需要降低。之前一直使用手动安装指定的gcc版本,然后通过更改gcc的链接位置达到切换gcc版本的目的,但是这个方法存在问题,比如在更新后,后续安装VMware player的时候存在无法找到gcc 5.4因此正常安装后但是无法打开,因为一下服务需要本地编译,而VMware player只认gcc-5。因此解决方案如下。

  使用

   gcc -v  查看当前版本信息。若需要的gcc版本没有安装使用 sudo apt-get install gcc-× 指定的版本。

  使用update-alternatives 命令配置

  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5   40

   使用如上的命令则在配置中加入了这两个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-4.8    50         auto mode
  1    /usr/bin/gcc-4.8   50         manual mode
*2    /usr/bin/gcc-5      40         manual mode

设置以后通过 gcc -v查看当前版本信息。

如果需要删除则使用:

  sudo update-alternatives --remove gcc /usr/bin/gcc-4.8

拓展:

   update-alternatives 是dpkg的一款工具,用来维护系统命令的符号链接,可以更改默认的命令。当然不局限于gcc,还可以更比如java的配置。具体相关,goolge  update-alternatives可以得到详细解答。