这里有新鲜出炉的精品教程,程序狗速度看过来!
GCC(GNU Compiler Collection,GNU 编译器套装)是一套由 GNU 工程开发的支持多种编程语言的编译器。GCC 是自由软件发展过程中的著名例子,由自由软件基金会以 GPL 协议发布。GCC 是大多数类 Unix 操作系统(如 Linux、BSD、Mac OS X 等)的标准的编译器,GCC 同样适用于微软的 Windows。
本篇文章主要介绍了 ubuntu 16.04 LTS 降级安装 gcc 4.8 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
由于 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。
大功告成。
来源: http://www.phperz.com/article/17/0530/334686.html