转载自:       http://www.cnblogs.com/in4ight/p/6626708.html

由于gcc在5.x版本修改了ABI,导致新版本gcc编译的二进制文件放在老的环境下会报错,所以需要安装gcc4.8.5。4.8.5这个版本支持c++11。

首先尝试下载gcc-4.8.5的源码编译安装,结果make时报错“libstdc++.so.6: : version `CXXABI_1.3.8' not found”。查了一下,不能用新版gcc来编译老版的gcc源码。

其实,在ubuntu上安装老版gcc十分简单,直接用apt-get命令下载即可。

第一步:

sudo apt-get install gcc-4.8

输入密码,同意安装,接下来就自动下载安装4.8.5版本了。

第二步:设置默认的gcc版本

gcc --version

(可选)查看当前版本,不出意外的话会返回ubuntu16.04自带的5.4.0这个版本号,现在使用gcc命令编译时还是会用新版本。

ls /usr/bin/gcc*

(可选)查看已有的gcc版本,确认一下刚才4.8.5有没有装成功。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 

100

将某个版本加入gcc候选中,最后的数字是优先级,我自己是直接设为100,没任何问题。

接着输入:

sudo update-alternatives --config gcc

如果用过此方法配置过多个gcc版本,会看到如下选项:(注:复制于参考文献【2】,这里只是做个说明示范,实际装4.8时不会如下显示)

选择                  路径            优先级        状态
------------------------------------------------------------
* 0            /usr/bin/gcc-4.4  50        自动模式1            /usr/bin/gcc-4.4  50        手动模式2            /usr/bin/gcc-4.5  40        手动模式3            /usr/bin/gcc-4.6  30        手动模式

大多数情况是没有这么配置过,所以不会给选项,命令行会返回“仅有一个可用的gcc版本”(大意)。此时在运行gcc --version查看版本,发现4.8.5已经为默认的gcc版本。

然后再按同样方法装上g++,如果只装gcc的话,用cmake配置出来的项目遇到c++代码还是会用之前版本的gcc。

修改 gcc 和 g++ 的默认版本相关推荐

  1. linux下载哪个python版本-修改linux下python的默认版本

    linux下python版本默认为python2.7,下面将通过操作在linux系统下修改python的默认版本. 本文linux系统使用的是ubuntu19. 操作: 1.在shell下输入pyth ...

  2. linux升级gfortran版本,Ubuntu下GCC、G++和gfortran版本切换

    第一步:用 which gcc.which g++和which gfortran查看位置,我的显示结果为:/usr/bin/gcc:/usr/bin/g++和/usr/bin/gfortran 第二部 ...

  3. 更改Ubuntu gcc、g++默认编译器版本

    更改Ubuntu gcc.g++默认编译器版本 转一篇文章: 升级Ubuntu到11.10,但在编译Android的时候出错了.这个Android在升级系统之前编译是没有错误的,对比发现升级到Ubun ...

  4. g++ linux 编译开栈_linux gcc和g++版本的修改

    ##编译的时候容易遇到:unsupported GNU version! gcc versions later than 6 are not supported这样的错误.所以我们要更改系统的gcc和 ...

  5. 【经验】如何查看gcc、g++不加-std时的默认版本

    一.测试gcc 1.测试代码:c.c #include <stdio.h>int main(void) {#ifdef __STDC_VERSION__printf("__STD ...

  6. linux下gcc、g++不同版本的安装和切换

    Ubuntu 18.04预装GCC版本为7.3,但有时在编译是需要用的不同gcc版本,下面介绍,如何安装不同的gcc 和g++,并设置根据不同的需要在不同版本之间切换. 1. 可以通过如下命令查看当前 ...

  7. centos上使用高版本gcc、g++

    0x0 在centos7上gcc版本是4.85,在编译一些代码时需要使用g++的一些新特性,而网上大多教程都是重新编译gcc,太麻烦了,在centos 7上默认是yum search不到高版本的gcc ...

  8. ROS修改:ubuntu系统更改默认python版本(重要操作)

    ubuntu18.04+ROS melodic 困扰:ROS用到python2,而各种目标检测源码用到python3,而且各种包也要安在python3的环境下,而不是python2. 解决:基于upd ...

  9. gcc降版本 linux_更改gcc默认版本,实现gcc版本升降级

    可以让系统存在两个gcc版本,我安装的Ubuntu16.04默认gcc 5.6,但是为了编译linux0.11想要降级到gcc 3.4,原文是gcc 4.8和gcc 6.2切换. 按照如下步骤即可: ...

最新文章

  1. Python中pass、continue、break、exit()的区别
  2. 手把手教你在windows10下进行openFoam调试
  3. python中的re模块和正则表达式基础
  4. 自定义汇编程序,Weaver和运行时的可插拔知识
  5. 给文章添加目录的方法
  6. python装饰器传递参数_Python装饰器高级版—Python类内定义装饰器并传递self参数...
  7. db2如何锁定一张表_办公必备的保护工作表技巧,你会了么?
  8. 在河北当中学老师用不用考计算机,想当教师没编制?两类教师不用考,直接进编制...
  9. 1.Sigar介绍和配置
  10. python统计套利_基于python的统计套利实战(二)之协整检验
  11. 互联网裁员形势严峻,2019年程序员的发展空间还有多大?
  12. 组件(component)技术介绍
  13. Echarts 3d地球toolstips实现
  14. 赴日研修的发展怎么样
  15. javafx:AnchorPane设置子容器和父容器同等大小
  16. 计算机word操作基础题,计算机操作基础Word练习题
  17. mysql 数据库里查询语句中不等于的两种写法
  18. Siri 语音识别 Speech
  19. 微信重磅更新,视频号狂放大招:直播连麦打赏美颜齐上线,新增巨大流量入口
  20. 企业微信和个人微信在朋友圈上有何区别?

热门文章

  1. Mac - 苹果电脑mac系统释放硬盘空间方法汇总
  2. 升级Struts2.5后使用DMI动态方法调用遇到问题
  3. BZOJ3427 Poi2013 Bytecomputer
  4. Ubuntu 12.10连接米2
  5. bat批处理教程 24
  6. Postgresql 按30分钟、小时、天分组
  7. js中获取对象属性的3种方式
  8. git master代码被删除 怎么恢复_git 分支的删除与恢复
  9. iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用
  10. 解扰matlab,数据序列扰乱与解扰MATLAB实现及性能分析—利用m序列.doc