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. 基于keras的双层LSTM网络和双向LSTM网络

    1 前言 基于keras的双层LSTM网络和双向LSTM网络中,都会用到 LSTM层,主要参数如下: LSTM(units,input_shape,return_sequences=False) un ...

  2. springboot+vue+elementui实现文件上传下载删除DEMO

    说明 前面搜索了几个关于springboot+vue+elementui上传下载的文章,感觉写的都不尽如人意.要么是功能不完善,不好用.再者就是源码提供的实在差劲,都不完整.一气之下,自己搞了一个实用 ...

  3. jenkins构建报错:[FATAL] Non-readable settings

    问题描述 问题分析 在项目的配置中配置了使用本地maven 配置. 解决方案 改为系统默认配置即可.修改后如图:点Build---右边高级按钮

  4. 我的小程序之旅八:基于weixin-java-mp实现微信公众号被动回复消息

    在微信里有这样一个公众号[华为运动健康],当点击最新排行的时候,公众号就会发送今天最新的运动步数给你.如下图: 这里有两种格式的消息 1.有头像框,有聊天框--普通消息 2.消息有样式.颜色等--模板 ...

  5. 【ACM专项练习#01】基本输入输出,如何加减

    关于ACM,牛客其实也有专门的模拟练习:https://ac.nowcoder.com/acm/contest/5657#question 做这个也可以 关于while(cin>>n) 在 ...

  6. HttpClient实现https调用

    在HttpClient 4.x版本中引入了大量的构造器设计模式 https请求建立详解 首先建立一个信任任何密钥的策略.代码很简单,不去考虑证书链和授权类型,均认为是受信任的: class AnyTr ...

  7. 大众点评cat报警源码

    类时序 时许说明 判断是否是报警机器. 1分钟启动一个线程根据设置的报警条件,时间段去查询CAT报告数据. 根据返回的报告数据,逐层解析TYPE,NAME,RANGE中的数据是否满足报警条件. 只有全 ...

  8. Nebula Graph 源码解读系列 | Vol.05 Scheduler 和 Executor 两兄弟

    本文首发于 Nebula Graph Community 公众号 上篇我们讲述了 Query Engine Optimizer 部分的内容,在本文我们讲解下 Query Engine 剩下的 Sche ...

  9. Redis 常见数据类型(对象类型)和应用案列

    前言: 每次你在游戏中看到玩家排行榜,或者在音乐应用中浏览热门歌单,有没有想过这个排行榜是如何做到实时更新的?当然,依靠 Redis 即可做到. 在技术领域,我们经常听到「键值存储」 这个词.但在 R ...

  10. aardio调用c语言dll动态库传结构体详细教程

    开发日记3.11 此篇用于记录发那科数控机床(Fanuc CNC)采集程序开发中,C语言写底层然后用aardio写窗口调用dll的摸索出来的类型对应和踩坑整理. 由于发那科提供的开发套件是C语言的,所 ...