ubuntu16.04下切换g++和gcc版本

在Ubuntu 16.04上安装GCC 7和G++ 7时遇到版本切换问题。g++被配置为gcc的附属,无法单独配置。通过`update-alternatives`命令尝试关联gcc和g++,但由于手动修改了g++-5的名称导致初次尝试失败。解决方法是删除g++-5,然后重新使用`--slave`选项关联gcc和g++,最终移除不需要的gcc-9和g++-9版本。
摘要由CSDN通过智能技术生成

参考博客:
Ubuntu 16.04 GCC 7 & G++ 7 安装_calvinpaean的博客-CSDN博客
Linux实用技巧(1)安装g++版本7与g++多版本共存_YuYunTan的博客-CSDN博客_g++ version

  1. 前面一切正常,gcc的版本也成功切换,但切换g++时,出现了问题:
    value@ubuntu:~$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
    update-alternatives: error: alternative g++ can't be master: it is a slave of gcc

    报错原因为,g++已经被配置成了gcc的附属,不能再单独配置版本切换

  2. 需要用--slave把gcc和g++关联起来即可

    value@ubuntu:~$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 --slave /usr/bin/g++ g++ /usr/bin/g++

    但中途由于手动修改了g++-5的名字:

    value@ubuntu:~$ ll g++*
    -rwxr-xr-x 1 root root 1542952 Oct  5  2019 g++-5*
    lrwxrwxrwx 1 root root      23 Apr 21  2020 g++-7 -> aarch64-linux-gnu-g++-7*
    lrwxrwxrwx 1 root root      23 Jun  3  2021 g++-9 -> aarch64-linux-gnu-g++-9*
    sudo cp g++-5 g++

    导致第一次使用slave失败,未能成功
    后续将其删除

    sudo mv /usr/bin/g++ /usr/bin/g++_b

    再使用slave
    最后删除gcc9,g++9,防止9版本的依赖造成影响

    sudo apt remove gcc-9 g++-9

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值