zoukankan      html  css  js  c++  java
  • 更改gcc默认版本,实现gcc版本升降级

    网上搜了一大堆,感觉还是修改默认的这个思路好用,原文https://blog.csdn.net/ThorKing01/article/details/92637235

    可以让系统存在两个gcc版本,我安装的Ubuntu16.04默认gcc 5.6,但是为了编译linux0.11想要降级到gcc 3.4,原文是gcc 4.8和gcc 6.2切换。

    按照如下步骤即可:

    (1)在Ubuntu 16.04上安装老版gcc十分简单,直接用apt-get命令下载即可。

    sudo apt-get install gcc-4.8

    安装完成后输入命令gcc --verison查看gcc的版本,此时还是6.2。

    (2)设置gcc的默认版本。

    设置之前可以先输入命令ls /usr/bin/gcc* 查看gcc 4.8版本是否安装成功。

    然后输入下面的命令设置默认版本:

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

    最后的数字为优先级(越大越高),因为只有一个4.8版本作为alternatives,可以不要纠结数字,这样设就行了

    (3)然后可以输入以下命令查看设置结果(非必须)

    sudo update-alternatives --config gcc

    因为只设置了一个,所以显示结果为:"链接组 gcc (提供 /usr/bin/gcc)中只有一个候选项:/usr/bin/gcc-4.8无需配置.",如果有多个则会显示一个按优先级的列表.

    (4)最后再次输入命令gcc -version查看gcc的版本已经变成4.8啦...就成功啦.

    (5)切换为6.2版本:现在默认版本已经是4.8版本,如果想用6.2版本,则gcc-6.2 将gcc6.2的优先级调大。

    g++ 等其他软件也是这样设置进行版本升级/降级.

    当以上设置不需要的时候输入以下命令删除:

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

    update-alternatives的使用

    update-alternatives命令常用来处理Linux中软件的多版本共存。其管理目录为/etc/alternatives

    使用语法与参数

    $ update-alternatives --help
    用法:update-alternatives [<选项> ...] <命令>
    
    命令:
    --install <链接> <名称> <路径> <优先级>
    [--slave <链接> <名称> <路径>] ...
    在系统中加入一组候选项。
    --remove <名称> <路径> 从 <名称> 替换组中去除 <路径> 项。
    --remove-all <名称> 从替换系统中删除 <名称> 替换组。
    --auto <名称> 将 <名称> 的主链接切换到自动模式。
    --display <名称> 显示关于 <名称> 替换组的信息。
    --query <名称> 机器可读版的 --display <名称>.
    --list <名称> 列出 <名称> 替换组中所有的可用候选项。
    --get-selections 列出主要候选项名称以及它们的状态。
    --set-selections 从标准输入中读入候选项的状态。
    --config <名称> 列出 <名称> 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
    --set <名称> <路径> 将 <路径> 设置为 <名称> 的候选项。
    --all 对所有可选项一一调用 --config 命令。
    
    <链接> 是指向 /etc/alternatives/<名称> 的符号链接。(如 /usr/bin/gcc)
    <名称> 是该链接替换组的主控名。(如 pager)
    <路径> 是候选项目标文件的位置。(如 /usr/bin/gcc-4.8)
    <优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
  • 相关阅读:
    土豆案例(display:none和block的应用)
    显示和隐藏
    鼠标经过提高层级案例(margin,相对定位,z-index)
    垂直对齐vertical-align
    表单初始化
    使用定位隐式转换为行内块元素
    清除浮动的方法
    定位的盒子叠放顺序z-index
    FreeRTOS-为什么关中断之后切换进程?
    PowerPC-关闭中断后,还能报sc中断?
  • 原文地址:https://www.cnblogs.com/songbeyond/p/12498385.html
Copyright © 2011-2022 走看看