歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Red Hat Enterprise Linux Server 6.5安裝GCC 4.9.2

Red Hat Enterprise Linux Server 6.5安裝GCC 4.9.2

日期:2017/2/28 14:03:12   编辑:Linux教程

現在很多程序員都應用GCC,怎樣才能更好的應用GCC。目前,GCC可以用來編譯C/C++、FORTRAN、JAVA、OBJC、ADA等語言的程序,可根據需要選擇安裝支持的語言。本文以在RedHat Linux安裝GCC4.9.2為例(因在項目開發過程中要求使用,沒有用最新的GCC版本),介紹Linux安裝GCC過程。

安裝之前,系統中必須要有cc或者gcc等編譯器,並且是可用的,或者用環境變量CC指定系統上的編譯器。如果系統上沒有編譯器,不能安裝源代碼形式的GCC 4.9.2。如果是這種情況,可以在網上找一個與你系統相適應的如RPM等二進制形式的GCC軟件包來安裝使用。本文介紹的是以源代碼形式提供的GCC軟件包的安裝過程,軟件包本身和其安裝過程同樣適用於其它Linux和Unix系統。

系統上原來的GCC編譯器可能是把gcc等命令文件、庫文件、頭文件等分別存放到系統中的不同目錄下的。與此不同,現在GCC建議我們將一個版本的GCC安裝在一個單獨的目錄下。這樣做的好處是將來不需要它的時候可以方便地刪除整個目錄即可(因為GCC沒有uninstall功能);缺點是在安裝完成後要做一些設置工作才能使編譯器工作正常。在本文中采用這個方案安裝GCC 4.9.2,並且在安裝完成後,仍然能夠使用原來低版本的GCC編譯器,即一個系統上可以同時存在並使用多個版本的GCC編譯器。

按照本文提供的步驟和設置選項,即使以前沒有安裝過GCC,也可以在系統上安裝上一個可工作的新版本的GCC編譯器。

1 下載

在GCC網站上(http://gcc.gnu.org)或者通過網上搜索可以查找到下載資源。目前GCC的最新版本為 4.9.2。可供下載的文件一般有兩種形式:gcc-4.9.2.tar.gz和gcc-4.9.2.tar.bz2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。

RHLinux下安裝gcc-4.9.2方法比較簡單,但是安裝過程中有些環節是需要注意的,否則,可能會導致安裝不成功,或者安裝報錯。具體安裝過程如下:

首先,下載並解壓縮gcc的RPM包至源目錄(如/opt/gcc-4.0.1)

1、解壓縮RPM包:

[root@linuxidc]# tar xjvf gcc-4.0.1.tar.bz2 (解壓後生成源目錄/opt/gcc-4.0.1)

2、創建安裝目標目錄:

[root@linux opt]# mkdir /usr/local/gcc-4.0.1/

3、進入安裝目標目錄:

[root@linux opt]# cd /usr/local/gcc-4.0.1/ (這一步很重要,配置安裝文件時,需要在目標目錄下執行configure命令)

[root@linux opt]# pwd

/usr/local/gcc-4.0.1

4、配置安裝文件:

[root@linux gcc-4.0.1]# /opt/gcc-4.0.1/configure --prefix=/usr/local/gcc-4.0.1/ (這一步非常重要,需要在安裝的目標目錄下,執行源目錄 /opt/gcc-4.0.1/中的configure命令,配置將gcc安裝到目標目錄/usr/local/gcc-4.0.1/)

creating cache ./config.cache

checking host system type... i686-pc-linux-gnu

5、編譯安裝文件:

[root@linux gcc-4.0.1]# pwd

/usr/local/gcc-4.0.1

[root@linux gcc-4.0.1]# make (在目標目錄下執行編譯)

6、安裝gcc:

[root@linux gcc-4.0.1]# pwd

/usr/local/gcc-4.0.1

[root@linux gcc-4.0.1]# make install (在目標目錄下執行安裝)

如果安裝過程中步驟和命令沒有錯誤,你肯定能安裝成功。

從svn checkout svn://gcc.gnu.org/svn/gcc/trunk拿了GCC的最新代碼,打算編譯了學東西習學習C++ 11的東西,結果在configure的時候出現如下問題:
Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
1、從http://www.multiprecision.org/index.php?prog=mpc&page=download 下載mpc-0.9.tar.gz
2、ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2下載gmp-5.0.1.tar.bz2
3、http://ftp.gnu.org/gnu/mpfr/下載mpfr-3.1.0.tar.xz。
先開始安裝GMP。解壓GMP的壓縮包後,得到源代碼目錄gmp-5.0.1。在該目錄的同級目錄下建立一個臨時的編譯目錄,這裡命名為temp。然後開始配置安裝選項,進入temp目錄,輸入以下命令進行配置:

  ../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1

make

sudo make install

mpfr和mpc的安裝方法與gmp類似。不過要注意配置的時候要把gmp與mpfr的依賴關系選項加進去,具體配置命令如下:

  ../mpfr-3.1.0/configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1

  ../mpc-0.9/configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0

  安裝好這三個庫之後,就可以正式開始安裝gcc了。

當然了鏈接的時候,需要剛剛編譯的3個lib。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib 

然後是典型的configure,make,install三步曲。

../trunk/configure --prefix=/usr/local/gcc-4.7 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
  --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9

make

make check(可選)

sudo make install

經過漫長的等待:

/usr/local/gcc-4.7/bin/g++ -v
使用內建 specs。
COLLECT_GCC=/usr/local/gcc-4.7/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.7/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
目標:x86_64-unknown-linux-gnu
配置為:../trunk/configure --prefix=/usr/local/gcc-4.7 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9
線程模型:posix
gcc 版本 4.7.0 20120113 (experimental) (GCC)

開始C++ 11學習了。

Linux升級GCC 4.8.1清晰簡明教程(Ubuntu 12.04 64位版為例) http://www.linuxidc.com/Linux/2014-04/99583.htm

在CentOS 6.4中編譯安裝GCC 4.8.1 + GDB 7.6.1 + Eclipse 在CentOS 6.4中編譯安裝GCC 4.8.1 + GDB 7.6.1 + Eclipse

Ubuntu下Vim+GCC+GDB安裝及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm

Ubuntu下兩個GCC版本切換 http://www.linuxidc.com/Linux/2012-10/72284.htm

CentOS6.5升級手動安裝GCC4.8.2 http://www.linuxidc.com/Linux/2015-01/112595.htm

GCC 的詳細介紹:請點這裡
GCC 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved