1. 程式人生 > >linux系統的GCC升級

linux系統的GCC升級

一、簡易安裝

操作環境 CentOS6.5 64bit,原版本4.4.7,不能支援C++11的特性~,希望升級到4.8.2

不能通過yum的方法升級,需要自己手動下載安裝包並編譯

1.1 獲取安裝包並解壓

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -jxvf gcc-4.8.2.tar.bz2

當然,http://ftp.gnu.org/gnu/gcc  裡面有所有的gcc版本供下載,最新版本已經有4.9.2啦.

1.2 下載供編譯需求的依賴項

參考文獻[1]中說:這個神奇的指令碼檔案會幫我們下載、配置、安裝依賴庫,可以節約我們大量的時間和精力。

cd gcc-4.8.0 
./contrib/download_prerequisites 

1.3 建立一個目錄供編譯出的檔案存放

mkdir gcc-build-4.8.2
cd gcc-build-4.8.2

1.4 生成Makefile檔案

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

1.5 編譯(注意:此步驟非常耗時)

make -j4

-j4選項是make對多核處理器的優化,如果不成功請使用 make,相關優化選項可以移步至參考文獻[2]。

我在安裝此步驟時候出錯,錯誤描述:

 

compilation terminated.
make[5]: *** [_gcov_merge_add.o] 錯誤 1
make[5]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/32/libgcc'
make[4]: *** [multi-do] 錯誤 1
make[4]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc'
make[3]: *** [all-multi] 錯誤 2
make[3]: *** 正在等待未完成的任務....
make[3]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] 錯誤 2
make[2]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2'
make[1]: *** [stage1-bubble] 錯誤 2
make[1]: Leaving directory `/home/imdb/gcc-4.8.2/gcc-build-4.8.2'
make: *** [all] 錯誤 2

 

大概看看,錯誤集中在 x86_64unknown-linux-gnu/32/libgcc 和 x86_64-unknown-linux-gnu/libgcc

根據參考文獻[3],安裝如下兩個軟體包(僅用於CentOS6.X):

sudo yum -y install glibc-devel.i686 glibc-devel

過程中CPU基本滿載:

1.6、安裝

sudo make install

 

二、驗證安裝

重啟,然後檢視gcc版本:

gcc -v

嘗試寫一個C++11特性的程式段 tryCpp11.cc,使用了shared_ptr

 

 1 //tryCpp11.cc
 2 #include <iostream>
 3 #include <memory>
 4 
 5 int main()
 6 {
 7     std::shared_ptr<int> pInt(new int(5));
 8     std::cout << *pInt << std::endl;
 9     return 0;
10 }

 

驗證檔案:

g++ -std=c++11 -o tryCpp11 tryCpp11.cc
./tryCpp11

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

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

更多CentOS相關資訊見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-01/112595.htm