操做環境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,但願升級到4.8.2 linux
不能經過yum的方法升級,須要本身手動下載安裝包並編譯 ios
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啦. c++
參考文獻[1]中說:這個神奇的腳本文件會幫咱們下載、配置、安裝依賴庫,能夠節約咱們大量的時間和精力。 優化
cd gcc-4.8.0 ./contrib/download_prerequisites
mkdir gcc-build-4.8.2 cd gcc-build-4.8.2
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j4
-j4選項是make對多核處理器的優化,若是不成功請使用 make,相關優化選項能夠移步至參考文獻[2]。 ui
我在安裝此步驟時候出錯,錯誤描述: spa
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 code
根據參考文獻[3],安裝以下兩個軟件包(僅用於CentOS6.X): htm
sudo yum -y install glibc-devel.i686 glibc-devel
過程當中CPU基本滿載: 教程
sudo make install
重啓,而後查看gcc版本: ip
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