参考链接:
ubuntu安装g+±5和gcc-5并实现多版本g++和gcc之间的管理和切换教程

背景

因为需要在Ubuntu22.04系统上编译C/C++项目,使用apt安装的g++版本为g++11,而项目需要使用g++5编译,于是:

sudo apt install g++-5

报错:找不到g++ -5。

上网查资料,找到了ubuntu安装g+±5和gcc-5并实现多版本g++和gcc之间的管理和切换教程这篇博客,按照博客的内容安装成功,现将安装过程记录如下,以备查阅。

安装步骤

安装依赖

sudo apt install ncurses-dev
sudo apt install bison
sudo apt install flex
sudo apt install build-essential

还有一个依赖项libisl15需要安装,使用apt install libisl15无法安装,使用dpkg安装:

wget http://archive.ubuntu.com/ubuntu/pool/universe/i/isl-0.18/libisl15_0.18-4_amd64.deb
sudo dpkg -i libisl15_0.18-4_amd64.deb

安装gcc-5和g++ -5

各版本的gcc和g++安装包的下载地址:http://archive.ubuntu.com/ubuntu/pool/universe/g/
点击“gcc-5”:

需要下载如下8个deb文件:

创建一个文件夹g++ -5用于存放这8个deb文件,wget下载这8个deb文件,然后用dpkg安装:

mkdir -p g++-5
cd g++-5
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/cpp-5_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/g++-5_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/gcc-5_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/gcc-5-base_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/libasan2_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/libgcc-5-dev_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/libmpx0_5.5.0-12ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-5/libstdc++-5-dev_5.5.0-12ubuntu1_amd64.deb
sudo dpkg -i *.deb

gcc版本管理

使用命令ls -l /usr/bin/gcc*可以查看已安装的gcc版本:

可以看到我这里现在有5和11这两个版本的gcc。其中绿色标注gcc-5是新生成的,说明前面的安装成功了。接下来,我们使用update-alternatives来管理gcc版本,要查看update-alternatives的命令帮助,可以输入:

update-alternatives --help

使用如下命令为刚安装好的gcc 5增加可选项(此处应根据自己新安装的gcc版本来进行操作,最后的30表示优先级,数字越大优先级越高,随便设一个就行):

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30

查看当前gcc版本:

# gcc --version
gcc (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

g++版本管理

使用命令ls -l /usr/bin/g++*可以查看已安装的gcc版本:

使用如下命令为刚安装好的g++ 5增加可选项(此处应根据自己新安装的gcc版本来进行操作,最后的30表示优先级,数字越大优先级越高,随便设一个就行):

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 30

查看当前g++版本:

# g++ --version
g++ (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ubuntu22.04安装gcc-5和g++-5相关推荐

  1. Ubuntu 系列学习(五)ubuntu22.04安装flameshot火焰截图(图文)

    文章目录 ubuntu22.04安装flameshot v11(火焰截图) 1 火焰截图flameshot安装 1.1 方法一 克隆项目编译安装 1.2 方法二 .deb包安装 1.3 添加依赖时的报 ...

  2. Ubuntu22.04安装VMware16[解决各种安装问题]

    Ubuntu22.04安装VMware[快速解决各种安装问题] 0. 前言 1. 下载安装包 2. 安装依赖 2.1 安装gcc 2.2 安装make 2.3 安装lib 2.4 安装git 2.5 ...

  3. ubuntu22.04安装显卡驱动、CUDA及cudnn

    安装显卡驱动.CUDA及cudnn 显卡驱动 自行下载安装 Software & Updates安装 使用命令安行安装 Ubuntu22.04系统安装CUDA 一.CUDA 是什么 先查看有没 ...

  4. ubuntu22.04安装显卡驱动+cuda+cudnn

    ubuntu22.04安装显卡驱动+cuda+cudnn 1. 下载驱动和卸载.禁用自带驱动程序 1.1 查看系统显卡型号 1.2 从NVIDIA官网下载相应驱动 1.3 卸载Ubuntu自带的驱动程 ...

  5. Ubuntu22.04安装惠普P1108打印机并在局域网内共享

    Ubuntu22.04安装惠普P1108打印机 注:前期安装了smbsa用于文件共享. 一.安装打印机 1.1 版本 端口:USB 打印机型号:HP_LaserJet_Professional_P11 ...

  6. Ubuntu22.04 安装禅道

    Ubuntu22.04 安装禅道 Ubuntu22.04 在线安装 LAMP Ubuntu22.04 在线安装 MySQL8 MySQL APT存储库的下载页面 wget https://repo.m ...

  7. Ubuntu22.04安装与配置记录

    Ubuntu22.04安装与配置记录 原文地址:Ubuntu22.04安装与配置记录 2022年4月21日,ubuntu发布了22.04版本,该版本是一个LTS长期支持版本,技术支持5年,22.04版 ...

  8. ubuntu22.04安装pytorch(一遍过)

    本文介绍ubuntu22.04安装pytorch(本地安装),关于win10安装pytorch-gpu请关注小编的上一篇文章- 1.进入Anaconda资源包下载链接 https://conda.an ...

  9. Ubuntu22.04安装wine微信

    Ubuntu22.04安装wine微信 1.前言 这里只做解决方案记载,节省大家找资料的时间,方便下次快速搭建开发环境使用的.理论知识可能会是了涉及,但是肯定是以解决方案为主. 基本上大部分的软件使用 ...

最新文章

  1. ExtJS FormPanel不执行校验
  2. python 二维数组赋值_python日常注意小知识集锦
  3. Fibonacci in the Pocket
  4. kill不掉 spark-submit
  5. 方立勋_30天掌握JavaWeb_Session
  6. java comparator_Java基础之String漫谈(二)
  7. 我对Spring的理解
  8. 使用Eclipse-Maven-git做Java开发(13)--导入git仓库的代码到eclipse
  9. 文字旋转_技术宅大白教你用软件做抖音爆火的文字旋转视频
  10. slf4j + log4j2配置日志引擎
  11. 多线程解决同步问题浅析
  12. java类注解是否可以通过实现接口或继承父类的方式获得
  13. C# 注册Dll文件
  14. 桶排序/基数排序(Radix Sort)
  15. 超级实用Windows快捷键 程序员必备 Windows 快捷操作大全
  16. RT-Thread (3) 为RTT增加SP485驱动||RTT UART设备
  17. 天宫初级认证答案_跨境电商人才初级认证试题以及答案
  18. Java文件导入 project .mpp文件解析导入 并通过父子级关系或WBS码构造层级关系
  19. eltable 无数据文案修改_写文案不断打磨修改,让你的文案简单易懂
  20. Py西游攻关之RabbitMQ、Memcache、Redis

热门文章

  1. 深度解析粉象生活VS花生日记哪个更好,哪个更有优势更容易赚钱
  2. 最简单的Greenplum节点扩展操作步骤
  3. 图解windows系统 硬盘主分区、扩展分区、逻辑分区的区别.
  4. 163电子邮箱,注册登陆及使用详细揭秘
  5. Kruskal算法:将森林合并成树
  6. Android 9.0 SystemUI 锁屏界面禁止状态栏下拉
  7. 安装eve-ng时选择桥接模式显示vmnet0未运行
  8. python爬虫+抖音分享链接=可直接下载视频链接
  9. Java实战项目之 [含文档+PPT+源码等]精品基于ssm的足球联赛管理系统的设计与实现
  10. 利用logisim-evolution软件学习数字电路(一)