当前位置:   article > 正文

ubuntu16.04下切换g++和gcc版本_update-alternatives: error: alternative g++ can't

update-alternatives: error: alternative g++ can't be master: it is a slave o

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

  1. 前面一切正常,gcc的版本也成功切换,但切换g++时,出现了问题:
    1. value@ubuntu:~$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
    2. 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的名字:

    1. value@ubuntu:~$ ll g++*
    2. -rwxr-xr-x 1 root root 1542952 Oct 5 2019 g++-5*
    3. lrwxrwxrwx 1 root root 23 Apr 21 2020 g++-7 -> aarch64-linux-gnu-g++-7*
    4. 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/260843
推荐阅读
相关标签
  

闽ICP备14008679号