CentOS上升級gcc編譯器使支持C++11

轉自:https://www.cnblogs.com/zhaoosheLBJ/p/10168209.html

0. 目標 

最近在學習c++11,我本機裝的CentOS編譯器較老,不支持C++11的新特性,所以我需要把gcc從

4.4.7升級到4.8.1。

 

1. 需要下載gcc的源碼

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

當我們在自己的虛擬機中輸入上面命令下載的時候,可能由於你的網絡原因無法連接到服務器,出

現這種情況的時候就直接在本地的瀏覽器中訪問http://......  這個地址,就可把壓縮包download到本

地,然後在弄到虛擬機中解壓繼續後面的操作,不要忙活半天糾結。

 

2. 然後解壓進入目錄
 tar -xvzf gcc-4.8.1.tar.gz -C /opt/gcc
 cd /opt/gcc/gcc-4.8.1

執行如下命令:
 ./contrib/download_prerequisites

 

3. 然後在gcc-4.8.1平級目錄下創建編譯目錄
 cd ..
 mkdir build_gcc_4.8.1


4. 接下來就是執行編譯了

 cd build_gcc_4.8.1


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


 make -j4    // make 還是時間有點長,不同機器配置可能時間不一樣,我的持續了1個多小時


 make install

如果在執行make 和 make install的時候沒有遇到error,那麼恭喜你,已經完成了gcc-4.8.1安裝了。
默認安裝路徑爲:

  /usr/local/bin

 

5. 接下來就是升級版本了。

 /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40


 /usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40

 

6. 再次查看你服務器的gcc版本可以看到已經更新爲4.8.1

  gcc --version 

gcc (GCC) 4.8.1
Copyright © 2013 Free Software Foundation, Inc.
本程序是自由軟件;請參看源代碼的版權聲明。本軟件沒有任何擔保;
包括沒有適銷性和某一專用目的下的適用性擔保。

 

總結:
但其實在make 和 make install的過程中,多多少少還會碰到一些莫名其妙的問題。

我曾經出現的問題就是在make的時候出錯了,讓我懷疑我下載的安裝包是不是有問題。

後來執行 make clean 並刪除所有 build的文件後,重新來了一遍,竟然成功了。

經過總結第一次失敗和第二次成功的唯一區別是:

第二次gcc-4.8.1解壓是放到/opt/gcc/目錄下了,後續的build_gcc-4.8.1也是放到/opt/gcc目錄下。

而第一次時,解壓源碼gcc-4.8.1和後續的build_gcc-4.8.1都是放到/opt/根目錄下。


我在做的時候按照這個步驟,一路順風就到了 4.8.1 沒有出現Error,所以再次感謝博主的經驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章