编译安装gcc

不过使用yum安装的gcc并非当前的最新版本,

目前gcc的最新版本为4.9.0(gcc 4.8开始全面支持C 11和C++ 11的新特性)。
如果我们想要安装最新版本的gcc,那么就需要自行安装gcc。

笔者初次安装gcc时,在网络上搜寻了大量的gcc安装配置教程,许多教程的内容非常之多,
结果把自己搞晕了,编译安装的时候还老是出现各种错误。最后查阅官方文档才发现,
自行安装新版本的gcc并不复杂,根本没有那些教程中说的那样繁琐(有些教程居然还要修改几个配置文件)。

下载gcc安装文件

在安装gcc当然要先拿到gcc的安装文件。在这里我们直接通过官方下载gcc-4.9.0.tar.bz2(86 MB)。
当然,你也可以下载gcc-4.9.0.tar.gz(110 MB),不过该压缩文件要大出不少。

编译前的准备工作

想要安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器。
如果你的计算机中没有这些,请执行以下命令(当然你也可以使用apt-get等其它方式进行安装,
如果已经安装则无需再次安装):

#安装C和C++的静态库
yum install -y glibc-static libstdc++-static
#安装旧版本的gcc、c++编译器
yum install gcc gcc-c++
在这里,我们将gcc-4.9.0.tar.bz2解压到/usr/local/src目录中(当然你也可以指定其他目录),完整的tar命令为:

#解压gcc安装文件
tar jxf gcc-4.9.0.tar.bz2 -C /usr/local/src
解压后gcc源程序的根目录就是/usr/local/src/gcc-4.9.0。接着,我们依次执行如下命令:

#转到gcc源程序根目录
cd /usr/local/src/gcc-4.9.0
#下载一些必备的依赖程序
./contrib/download_prerequisites
安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,
执行download_prerequisites将会自动下载这些软件并解压到当前目录(文件不大,总共只有几MB,请耐心等待下载)。
编译安装gcc

接着,就可以对gcc进行编译安装了。在此之前,
我们先创建一个目录/usr/local/build/gcc-4.9.0(你也可以自行指定其他目录)用于存放编译后的程序文件。
然后我们依次执行如下命令:

#跳转到编译后的程序文件存放目录
cd /usr/local/build/gcc-4.9.0
#调用gcc源程序的configure(后面的参数选项可根据需要自行修改),用于配置gcc
/usr/local/src/gcc-4.9.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#编译gcc源程序
make
#安装gcc
make install
其中执行make命令这一过程耗费的时间可能非常多,笔者这里耗费了20多分钟才编译完成。
执行完上述命令后,我们的gcc就已经安装成功了。

与其他教程不同的是,本教程并没有对gmp、mpfr、mpc等软件分别进行解压和编译,
而是直接由download_prerequisites负责下载并解压,最后和gcc一起进行编译安装,
这也是官方推荐的做法(download_prerequisites还会根据实际情况决定是否启用Graphite循环优化)。

如果你的Linux无法直接联网,那么你只能打开文件download_prerequisites,
获取到这些文件的下载链接,然后通过其他上网设备下载这些软件。
最后把这些软件直接解压到gcc源程序目录(/usr/local/src/gcc-4.9.0)下即可。

作者:软件指南针(http://www.softown.cn),转载请保留出处!

时间: 2024-11-03 05:22:53

编译安装gcc的相关文章

CentOS6.8下编译安装GCC

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升级到的 GCC 版本号.目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5.GCC 官网:https://gcc.gnu.org 下面开始一步一步来编

CentOS编译安装GCC 4.9.2成功

在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查阅了大量的资料,本次安装使用的系统是CentOS6.4,自带的gcc是4.4.7版本,具体折腾过成如下: 准备工作, 到GNU官方FTP下载GCC的源码包gcc-4.9.2.tar.gz. 下载下面三个依赖的安装包,这三个包的版本在gcc-4.9.2/contrib/download_prerequ

在CentOS 6.4中编译安装gcc 4.8.1

在CentOS 6.4中编译安装gcc 4.8.1 分类: C/C++ Linux/Unix2013-11-28 21:02 1877人阅读 评论(0) 收藏 举报 原文链接:http://www.cnblogs.com/codemood/archive/2013/06/01/3113200.html 1. 安装gcc和g++ 新安装的CentOS缺少编译环境,必须先安装旧版本的gcc, 然后再进行自举编译 yum -y install gccyum -y install gcc-c++ 2.

转:在CentOS下编译安装GCC

转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术  秋水逸冰  发布于: 2015-09-02  更新于: 2015-09-02  6519 次围观  14 次吐槽 我们知道,关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升

CentOS 6.4中升级编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 以及Kdump配置

在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 今天在isocpp上看到"GCC 4.8.1 released, C++11 feature complete"这个消息,非常兴奋.终于有一个全面支持C++11语言特性的编译器了! 当然了,gcc仅仅是语言特性上全面支持C++11,libstdc++貌似还没有完全跟上,不过我已经挺满足了,至少可以去尝试各种特性了.另外,之前也有消息说Clang功能上也100%支持C++11了,但是内部还在做

Centos 6.9 编译安装gcc 4.8.5

前言 GCC(GNU Compiler Collection,GNU编译器合集)是linux以及其他类UNIX平台上进行开源项目,软件开发等必不可少的工具链组成之一.(其他的还有clang以及llvm等编译器) 对于程序员以及系统管理员而言,经常需要从软件的源码进行手动编译安装, 不论是configure脚本,还是make工具,最终都需要调用gcc(或者其它编译器)来进行实际的编译工作. 另外,各种软件也经常需要使用gcc的新版特性,并且与旧版gcc共存,根据实际的需求进行调用. 实验环境:VM

编译安装gcc 4.8.3

要用到c++11,基础设施建设... 0.系统版本: [email protected]:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS" [email protected]:~# uname -a Linux melos1305-B85M-DS3H 3.2.0-24-generic

CentOS 6.4 编译安装 gcc 4.8.1(转)

今天在isocpp上看到"GCC 4.8.1 released, C++11 feature complete"这个消息,非常兴奋.终于有一个全面支持C++11语言特性的编译器了! 当然了,gcc仅仅是语言特性上全面支持C++11,libstdc++貌似还没有完全跟上,不过我已经挺满足了,至少可以去尝试各种特性了.另外,之前也有消息说Clang功能上也100%支持C++11了,但是内部还在做测试,Clang3.3的release版据说6月5号正式发布,最近对于C++来说大事真多啊,很期

CentOS 6.4 编译安装 gcc 4.8.1

今天在isocpp上看到“GCC 4.8.1 released, C++11 feature complete”这个消息,非常兴奋.终于有一个全面支持C++11语言特性的编译器了! 当然了,gcc仅仅是语言特性上全面支持C++11,libstdc++貌似还没有完全跟上,不过我已经挺满足了,至少可以去尝试各种特性了.另外,之前也有消息说Clang功能上也100%支持C++11了,但是内部还在做测试,Clang3.3的release版据说6月5号正式发布,最近对于C++来说大事真多啊,很期待! 今天