linux應用之gcc環境的安裝


我們知道,用yum install gcc可以安裝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

 

下面開始一步一步來編譯安裝 GCC 4.8.5,需要注意的是,在編譯安裝 GCC 之前,系統里必須先要通過 yum 安裝老版本的 GCC 和依賴庫。
如果是在 x86_64 系統下編譯的話,還需要安裝 libgcc.i686 glibc-devel.i686 才行。

yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686

當然,如果是在 CentOS 5 x86_64 系統下安裝,則是如下命令:

yum install -y gcc texinfo-tex flex zip libgcc.i386 glibc-devel.i386

同時需注意,編譯安裝 GCC 內存不小於 1GB,Swap 不小於 1GB,硬盤最低不小於 10GB,否則極有可能會中途報錯退出。
編譯安裝完后,目錄 gcc-4.8.5 將會有 5GB 之多。

1、下載源碼

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

2、下載依賴包
編譯安裝 GCC 需要依賴 mpc,mpfr,gmp包。好在 GCC 源碼里自帶腳本可以輕松下載依賴包。

tar zxf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites

在此腳本里可以看到依賴包的版本號依次是 mpc-0.8.1,mpfr-2.4.2,gmp-4.3.2。

3、編譯安裝

mkdir gcc-build-4.8.5
cd gcc-build-4.8.5
../configure --prefix=/usr
make && make install

為了避免安裝后系統里出現多個版本的 GCC,這里直接將編譯安裝的目錄指定為 /usr,如果不指定 –prefix,則會默認安裝到 /usr/local 下。
GCC 4.8.5 光是源代碼就有105MB,因此可以預見整個編譯過程需要很長時間(差不多 2 個小時左右)。

4、查看版本號

gcc --version
gcc (GCC) 4.8.5

g++ --version
g++ (GCC) 4.8.5

which gcc
/usr/bin/gcc

which g++
/usr/bin/g++

注:本次是在 CentOS 6.7 x86_64 下安裝成功。

5、測試程序
cd ~
創建一個 main.cpp 文件,內容如下:

    #include <iostream>
    using namespace std;
    int main() {
        cout << "Hello world!" << endl;
        return 0;
    }

    
編譯 main.cpp,執行如下命令:

g++ main.cpp -o main

執行生成的文件:
./main

輸出如下:
Hello world!

寫在最后
通過 rpm 命令查詢 GCC 包的安裝情況:
rpm -qa | grep gcc

輸出如下:
gcc-4.4.7-16.el6.x86_64
libgcc-4.4.7-16.el6.x86_64
libgcc-4.4.7-16.el6.i686
gcc-c++-4.4.7-16.el6.x86_64

因此通過以上步驟編譯安裝 GCC 后,請慎用 yum update 或者通過 yum 來升級 GCC 的命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM