zoukankan      html  css  js  c++  java
  • Ubuntu linux下gcc版本切换

      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可以得到详细解答。

    Go as far as your heart will take you.
  • 相关阅读:
    ES6知识点脑图
    三大框架知识点比较(Angular, Vue, React)
    Angular(06)- 为什么数据变化,绑定的视图就会自动更新了?
    Angular(05)- 组件知识点脑图
    iTop4412开发板+虚拟机+tftp服务
    发布项目遇到的问题
    Ubuntu + Django(DRF) + channels(websocket)+NGINX + uwsgi 环境部署
    在Ubuntu中使用uwsgi 启动 Django ,但是静态文件映射出错
    Django + mysql 在创建数据库出错
    流媒体服务器搭建 ffmpeg + nginx
  • 原文地址:https://www.cnblogs.com/fogcell/p/6628520.html
Copyright © 2011-2022 走看看