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


首先向博主致敬,好的東西拿來共享了,用一下不錯。

https://blog.csdn.net/clirus/article/details/62424517

 

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,所以再次感謝博主的經驗。

 


免責聲明!

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



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