1. 查看ubuntu系统上g++的版本:
ls /usr/bin/g++*
  1. 安装指定版本gcc和g++
# 以version == 4.9为例
sudo apt-get install gcc-4.9 g++-4.9
  1. 切换不同版本

    当ubuntu系统上安装了不同版本的gcc和g++,可以使用update-alternatives命令设置默认使用哪个版本,典型的如在Ubuntu 16.04里安装了gcc-4.8和gcc-6, 想让gcc命令自动使用gcc-6版.首先要让系统知道我们安装了多个版本的gcc
# 命令最后的 20和50是优先级,如果使用auto选择模式,系统将默认使用优先级高的
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

数值越大,优先级越高,50>20

同理修改g++的方式类似:

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50

上面通过设置数值来实现自动模式下的gcc,g++版本选择,一旦不再自动模式下,回报错,我们可以通过手动模式来设置,手动模式的好处是可视化:

sudo update-alternatives --config gcc   # gcc
sudo update-alternatives --config g++ # g++

linux安装/切换不同版本c/c++的更多相关文章

  1. linux 安装jdk 二进制版本,非安装版

    0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对 ...

  2. Linux 安装多个版本JDK并设置默认版本

    1 官网下载JDK版本 jdk-8u181-linux-x64.tar.gz 2 利用ssh工具上传安装包到Linux系统 传至:/usr/local 3 Linux用户安装的程序一般放在 /usr/ ...

  3. linux安装最新(任意)版本nodejs

    首先在终端中使用命令 uname -a 查看系统版本 uname -a x86_64 是64位的 所以要安装64位对应的nodejs 打开nodejs中文网里的下载 找到64位的文件 点击后就下载了 ...

  4. Linux安装mysql5.7版本

    1.linux安装mysql5.7顺序 ①mysqladmin –version 查看版本号 ②mysql5.7安装在linux中需要先初始化 Mysqld –initialize –user=mys ...

  5. linux 下切换Python版本(某用户,共存,替换)

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系 ...

  6. Linux安装mariadb二进制版本

    上一篇说了mariadb编译安装过程,但在生产环境中一般使用发布好的二进制版本,由于安装过程和之前一样,不再详细叙述,只是简单概括一下安装过程: 1. 下载 地址为:https://downloads ...

  7. linux 安装svn最新版本

    一.安装svn yum install -y subversion-* 结果为Complete就为正确 查看svn版本号 svnserve --version 1.6.11版本 mkdir /opt/ ...

  8. Linux安装MySQL8高版本压缩包(通用)

    前言 前段时间领导让我部署测试环境,希望安装高版本的MySQL,过程遇到很多问题,特此记录帮助迷失的人们 下载 MySQL官方下载地址:https://dev.mysql.com/downloads/ ...

  9. linux 安装mysql5.7版本

    首先准备好mysql5.7.17的安装包,安装包放在  /data/software 目录下 进入到 /usr/local 目录下,解压mysql安装包 命令:   cd /usr/local tar ...

  10. linux 安装多个版本JDK,指定tomcat的jdk版本

    JDK的下载可以直接到官网下载,这里不再介绍 一.安装JDK 7 vi /etc/profile #set java environmentexport JAVA_HOME=/usr/java/jdk ...

随机推荐

  1. OCR 01: EasyOCR

    Catalog OCR 01: EasyOCR OCR 02: Tesseract-OCR OCR 03: PaddleOCR Related Links Official site with onl ...

  2. GCC Arm 11.3rel1, 12.2编译提示 _close is not implemented and will always fail

    使用GCC Arm工具链开发的项目, 在11.2下编译正常, 但是升级到 arm-gnu-toolchain-11.3.rel1 以及 arm-gnu-toolchain-12.2 之后, 编译出现警 ...

  3. Java8接口中抽象方法和default和static方法的区别和使用

    Java接口说明 传统的理解是接口只能是抽象方法.但是程序员们在使用中,发现很不方便,实现接口必须重写所有方法,很麻烦.所以java设计者妥协了,在java8中,支持default和static方法, ...

  4. Java I/O 教程(二) 介绍OutputStream 和 InputStream

    OutputStream vs InputStream 我们来看一下两者的工作图: OutputStream 输出流 Java应用程序使用输出流将数据写入到某个目的地,可以是一个文件,数组,外围设备或 ...

  5. Google Chrome 开启多下载下载,提高文件下载速度

    在地址栏输入: chrome://flags/#enable-parallel-downloading Parallel downloading改为Enabled后重启浏览器即可打开多线程下载 (多线 ...

  6. MySQL和Redis基本安装和配置

    MySQL 下载和安装 mysql官网下载:https://dev.mysql.com/downloads/mysql/ 下载后将目录下的bin路径加入到环境变量中 在安装目录下创建 my.ini 配 ...

  7. 【LeetCode链表#7】设计一个链表并实现常见的操作方法

    设计链表 题目 力扣题目链接 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要 ...

  8. 【Azure Redis 缓存】Azure Redis 异常 - 因线程池Busy而产生的Timeout异常问题

    问题描述 StackExchange.Redis在使用线程池后,偶尔会出现Timeout awaiting response 或者 No connection is available to serv ...

  9. 『Echarts』基本使用

    一.前言 本篇文章是『Echarts』文章的第 2 篇,主要介绍『Echarts』基本使用 在『Echarts』第 1 篇文章中,我们介绍了 Echarts 的概述及其强大的数据可视化功能.本篇将继续 ...

  10. AI大模型加速RPAxAI时代到来,谁会是RPA领域的杀手级应用?

    GPT等AI大模型震撼来袭,基于RPA的超级自动化仍是最佳落地载体 对话弘玑CPO贾岿,深入了解国产RPA厂商对AI大模型的探索与实践 文/王吉伟 关于RPA已死的说法,在中国RPA元年(2019年) ...