今天在isocpp上看到「gcc 4.8.1 released, c++11 feature complete」這個訊息,非常興奮。終於有乙個全面支援c++11語言特性的編譯器了!
當然了,gcc僅僅是語言特性上全面支援c++11,libstdc++貌似還沒有完全跟上,不過我已經挺滿足了,至少可以去嘗試各種特性了。另外,之前也有訊息說clang功能上也100%支援c++11了,但是內部還在做測試,clang3.3的release版據說6月5號正式發布,最近對於c++來說大事真多啊,很期待!
安裝之前,還是提醒下大家:一些基本的準備工作我就不說了,比如得裝個linux(centos,ubuntu等等),然後裝上基本的編譯環境,用較老的編譯環境編譯新的編譯器,這叫自舉(bootstrap)。如果編譯的過程,提示出錯,就按照提示去把環境裝好,不再詳細說明。
我是虛擬機器裡面裝的linux,我嫌wget太慢,所以自己在windows上用迅雷下好,然後共享到linux中。
2、解壓:
tar -jxvf gcc-4.8.1.tar.bz2
這個步驟有兩種方式完成:
a) 如果linux有網路連線,直接這樣:
cd gcc-4.8.1
./contrib/download_prerequisites
cd ..
然後解壓並移動到gcc-4.8.1下面:
tar -xjf gmp-4.3.2.tar.bz2
tar -xjf mpfr-2.4.2.tar.bz2
tar -xzf mpc-0.8.1.tar.gz
mv gmp-4.3.2 gcc-4.8.1/gmp
mv mpfr-2.4.2 gcc-4.8.1/mpfr
mv mpc-0.8.1 gcc-4.8.1/mpc
這樣的做法好處是,不用單獨編譯gmp、mpfr和mpc三個包,放在gcc原始碼下面一起編譯(事實上這也是gcc-4.8.1/contrib/download_prerequisites指令碼的做法,個人感覺更簡潔些)。
4、新建目錄用於存放編譯結果:
mkdir gcc-build-4.8.1
5、進入新目錄,並執行configure命令,產生makefile:
cd gcc-build-4.8.1
../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
具體選項不多解釋,大家可以自己檢視,我只用到c和c++,所以只編譯這兩種語言的編譯器。
6、編譯:
make -j4
我是i5四核,所以開4個執行緒同時編譯,要是有8核就更爽了~我在虛擬機器裡面花了30分鐘不到的時間,不算太慢了。
7、安裝:
sudo make install
8、大功告成,檢查版本:
g++ --version
CentOS6 4編譯安裝Gcc5 2 0
1 安裝系統依賴項 yum y install kernel devel kernel headers echo exclude kernel etc yum.conf yum y groupinstall development tools yum y groupinstall desktop p...
CentOS 6 4 編譯安裝 gcc 4 8 1
或者 wget 2 解壓gcc 4.8.1.tar.bz2 解壓gcc 4.8.1.tar.bz2 tar jxvf gcc 4.8.1.tar.bz2 a 如果linux有網路連線,直接這樣 cd gcc 4.8.1 contrib download prerequisites cd tar xj...
CentOS 6 4 編譯安裝 gcc 4 8 0
2.解壓 tar jxvf gcc 4.8.0.tar.bz2 cd gcc 4.8.0 contrib download prerequisites cd 4.建立編譯輸出目錄 mkdir gcc build 4.8.0 5.進入此目錄,執行以下命令,生成makefile檔案 cd gcc bui...