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