天天看點

centos7 更新GCC版本到7.3.0

廢話不多說,直接上shell,還是比較簡單的。就是編譯時間有點長... 都是以小時計的......,我刀片機上面一台虛拟機反正是等了3個小時
#必備元件安裝
yum install -y gcc gcc-c++ bzip2

#root使用者執行,到使用者目錄。其實cd哪裡都闊以。
cd ~/
#下載下傳gcc源代碼
wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
#解壓
tar -zxvf gcc-7.3.0.tar.gz
#到源代碼目錄
cd gcc-7.3.0
#下載下傳一些必須的東西
./contrib/download\_prerequisites
#如果下載下傳不下來,或者下載下傳緩慢可以考慮檢視指令行拿到下載下傳位址自己down下拉後,放到源代碼目錄。具體位址:ftp://gcc.gnu.org/pub/gcc/infrastructure/,需要下載下傳的幾個源代碼包如下,可以檢視./contrib/download\_prerequisites檔案。
gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.16.1.tar.bz2'
#接着建立一個目錄,用于gcc build
mkdir gcc-build-7.3.0
#cd到build目錄,準備開始編譯了。
cd gcc-build-7.3.0
#編譯的config,disable-multilib 64位編譯标記。具體可檢視官方文檔
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
#接着就是漫長的編譯等待了
make #不知是否可以使用make -j8之類的開啟多核編譯是否會快一點,我反正是等了好幾個小時
#next
make install
#重建立立軟連接配接
find / -name "libstdc++.so*" #找到自己的檔案路徑
#把libstdc++.socopy到/usr/lib64目錄,類似下面的指令
cp /root/gcc-7.3.0/gcc-build-7.3.0/x86\_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64
cd /usr/lib64 
 rm -rf libstdc++.so.6 #删除原來的
 ln -s libstdc++.so.6.0.24 libstdc++.so.6 #重建立立軟連
 gcc -v #看看輸出,是不是如下圖變成7.3.0拉。           
centos7 更新GCC版本到7.3.0

參考資料:

gcc源代碼下載下傳位址