Ubuntu18.04/20.04/22.04上gcc-5/gcc-7安装及切换

ubuntu 18

安装gcc 5 和切换多版本

ubuntu安装gcc5.4版本,亲测有效!
Ubuntu18.04 gcc,g++ (4.8,5,7.4 )安装及切换
一般操作如下(详细操作见上面的两篇博客):

# 1.see your version
gcc --version 
# 2.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
# 3. 查看你可以安装的gcc5版本
apt-cache policy gcc-5
# 4.根据上面的版本,选择需要的进行安装
sudo apt-get install gcc-5=5.4.0-6ubuntu1~16.04.12
gcc --version 
g++ --version
# 如果gcc和g++版本不一致,则需要执行下面的:
# sudo apt install gcc-5 g++-5

#如果有多个版本的gcc, 版本切换
# Set the path for all gcc/g++ versions by modifying gcc-XX, g++-XX
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 80 --slave /usr/bin/g++ g++ /usr/bin/g++-5 --slave /usr/bin/gcov gcov /usr/bin/gcov-5 # set gcc和g++
# gcc-9 version
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 60
# Configure gcc to use gcc-5,下面的命令运行后,会提示让你选择当前需要是选用的版本,输入Selection的id:
sudo update-alternatives --config gcc # 可以选gcc版本
sudo update-alternatives --config g++ # 可以选g++版本
# Verify gcc version
gcc --version
g++ --version

注意: 如果你发现gcc --version版本对了,但是g++ --version版本不对,则可能是

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 80 --slave /usr/bin/g++ g++ /usr/bin/g++-5 --slave /usr/bin/gcov gcov /usr/bin/gcov-5

这一步中忘记设置g++的链接了。

安装gcc-11/g+±11

参考:https://blog.csdn.net/tytyvyibijk/article/details/123074333

  1. bash执行添加PPA源
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    
  2. 更新软件源
    sudo apt update
    
  3. 安装新版本GCC/G++
    sudo apt install gcc-11 g++-11  # 巨慢
    
  4. 查找所有已安装的GCC/G++
    #使用locate命令比find快一些,使用前最好更新一下索引
    sudo updatedb && sudo ldconfig
    locate gcc | grep -E "/usr/bin/gcc-"
    #如果locate不能用
    ls /usr/bin/gcc*
    ls /usr/bin/g++*
    
  5. 设置为默认版本
    # gcc-11 version
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 60
    # 会提示让你选择当前需要是选用的版本,输入Selection的id:
    sudo update-alternatives --config gcc
    # Verify gcc version
    gcc --version
    g++ --version
    

ubuntu 22.04

参考自:https://www.cnblogs.com/ywb123/p/16660711.html
ubuntu 22.04 安装gcc-7g++-7
1、安装gcc-7
1.1 添加镜像

(base) root@FIB:~ sudo vim /etc/apt/sources.list
# 在第一行添加:
deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe

1.2 更新镜像

(base) root@FIB:~ sudo apt-get update

1.3 指定版本安装

(base) root@FIB:~ sudo apt-get -y install gcc-7 g++-7
(base) root@FIB:~ gcc-7 --version
(base) root@FIB:~ g++-7 --version
(base) root@FIB:~ gcc --version
(base) root@FIB:~ g++ --version

2.配置gcc、g++版本的优先级:

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
update-alternatives  --install /usr/bin/g++ g++ /usr/bin/g++-7 50
gcc --version
g++ --version
# 如果需要修改其它版本:update-alternatives  --install /usr/bin/g++ g++ /usr/bin/g++-10 30

切换需要的gcc版本,默认是0选项。输入需要的gcc版本序号后,即可成功切换(g++同理)

(base) root@FIB:~/cu110# update-alternatives --config gcc3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

  选择       路径           优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gcc-7    50        自动模式
  1            /usr/bin/gcc-10   30        手动模式
  2            /usr/bin/gcc-11   20        手动模式
  3            /usr/bin/gcc-7    50        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

查看发现已经切换了(g++同理)

(base) root@FIB:~/cu110# update-alternatives --query gcc
Name: gcc
Link: /usr/bin/gcc
Status: manual
Best: /usr/bin/gcc-7
Value: /usr/bin/gcc-7

Alternative: /usr/bin/gcc-10
Priority: 30

Alternative: /usr/bin/gcc-11
Priority: 20

Alternative: /usr/bin/gcc-7
Priority: 50

ubuntu20.04安装gcc-7

  1. 查看可以安装的版本:
#查看你可以安装的gcc7版本
apt-cache policy gcc-7

如果发现ubuntu20.04有这个版本,则直接跳到第3步,否则就是发现ubuntu20.04没有这个版本的,所以如果要安装gcc-7则需要ubuntu18.04的源。如果是需要安装gcc-5,则只需要ubuntu16.06的源就行了。其它的类似,源可以自行搜索!

  1. 编辑/etc/apt/sources.list文件, 在文件最前面添加阿里云镜像源(ubuntu18.04):
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

运行:

sudo apt-get update

可能会如下有报错:

Err:5 http://mirrors.aliyun.com/ubuntu bionic InRelease                                                        
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32
Err:6 http://mirrors.aliyun.com/ubuntu bionic-security InRelease                                                
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32
Get:9 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease [74.6 kB]                                     
Get:10 http://mirrors.aliyun.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [326 kB]

3B4FE6ACC0B21F32是从报错信息中获取的:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

再次运行:

sudo apt-get update
  1. 查看可以安装的版本:
#查看你可以安装的gcc7版本
apt-cache policy gcc-7
~/software/gcc-7$ apt-cache policy gcc-7
gcc-7:
  Installed: (none)
  Candidate: 7.5.0-3ubuntu1~18.04
  Version table:
     7.5.0-3ubuntu1~18.04 500
        500 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 Packages
        500 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 Packages
     7.3.0-16ubuntu3 500
        500 http://mirrors.aliyun.com/ubuntu bionic/main amd64 Packages
  1. 安装, 注意要保证gcc和g++版本一致:
# 根据上面的版本,选择需要的进行安装
sudo apt-get install gcc-7=7.5.0-3ubuntu1~18.04
gcc --version 
g++ --version
# 如果gcc和g++版本不一致,则需要执行下面的:
sudo apt install gcc-7 g++-7
#如果有多个版本的gcc, 版本切换
# Set the path for all gcc/g++ versions by modifying gcc-XX, g++-XX
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 80 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7 # set gcc和g++
# gcc-9 version
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60
# Configure gcc to use gcc-7,下面的命令运行后,会提示让你选择当前需要是选用的版本,输入Selection的id:
sudo update-alternatives --config gcc
# Verify gcc version
gcc --version
g++ --version

参考:

  1. Ubuntu20.04如何安装低版本GCC5.4
  2. 解决sudo apt-get update遇到问题:GPG error:The following signatures couldn‘t be verified because the public
  3. Ubuntu20.04安装gcc-5

clang 安装

添加软件源(20.04): 参考https://apt.llvm.org/

sudo vim /etc/apt/sources.list
Focal (20.04) LTS - Last update : Fri, 01 Sep 2023 19:19:02 UTC / Revision: 20230901052623+823151f0cfc8
deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
# 16
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-16 main
# 17
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main

后续步骤参考:
https://zhuanlan.zhihu.com/p/592334845

  • 12
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ystraw_ah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值