Centos下GCC的安装(在线模式)

Linux下GCC的安装(在线模式)

 

      GCCGNU Compiler Collection)是Linux下最主要的编译工具,GCC不仅功能非常强大,结构也非常灵活。它可以通过不同的前端模块来支持各种语言,如JavaFortranPascalModula-3Ada

Centos下,可以在联网状态下在线yum安装GCC,但是此种方式安装的GCC4.4.7版本的,有时候已经不能满足需要。因此还需在此基础上进行升级。截止目前已经有5.0以上的最新版本了gcc 4.8 开始全面支持C 11C++ 11的新特性下面以4.9.0为例进行安装
一 使用yum安装gcc
    需要在有网络连接条件下进行,网络连接教程请移步:http://blog.csdn.net/linyixiao88/article/details/50338189

分别执行如下命令:
      #安装gccc++编译器以及内核文件
            yum -y install gcc gcc-c++ kernel-devel

#如果没有安装make

yum install make

 

二   升级安装gcc

  1、下载gcc安装文件

       官方下载 gcc-4.9.0.tar.bz2也可以下载gcc-4.9.0.tar.gz,不过该压缩文件要大出不少。
     链接:http://gcc.skazkaforyou.com/releases

(http://ftp.gnu.org/gnu/gcc  里面有所有的gcc版本供下载)

2、编译前的准备工作
    建议使用 root 权限
       安装gcc 4.8及以上版本,你需要先安装C标准库和头文件,以及旧版本的c++编译器(上一步yum安装gcc)。
       #安装CC++的静态库
        yum install -y glibc-static libstdc++-static

        将gcc-4.9.0.tar.bz2解压到/usr/local/src目录中(可以指定其他目录)
       #解压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需要下载gmpmpfrmpc等依赖文件,执行download_prerequisites将会自动下载这些软件并解压到当前目录

 

3、编译安装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 -j4命令,-j4选项是make对多核处理器的优化)
            make 
      #安装gcc
             make install

    其中执行make命令这一过程需要的时间很长,笔者耗费了一个小时才编译完成。执行完上述命令后,gcc已安装成功。

 

 

    #验证安装成功的方法:
       gcc -v或者:g++ -v
      如果显示的gcc版本仍是以前的版本,可以重启系统;
   #查看gcc的安装位置:

which gcc
       

离线安装不同的是,这里没有对gmpmpfrmpc等软件分别进行解压和编译,而是直接由download_prerequisites负责下载并解压,最后和gcc一起进行编译安装,这也是官方推荐的做法。

如果你的Linux无法直接联网,请搜索离线教程,移步:


你可能感兴趣的:(Linux,centos,vmware,gcc)