Linux升級gcc到最新版本gcc-11.2.0

1. 下載最新的源碼包並解壓縮

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

2.下載依賴及配置文件

yum -y install bzip2 #已安裝可以跳過這一步

cd gcc-11.2.0
./contrib/download_prerequisites

3. 配置

mkdir build
cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

#–enable-languages表示你要讓你的gcc支持那些語言,
#–disable-multilib不生成編譯爲其他平臺可執行代碼的交叉編譯器。
#–disable-checking生成的編譯器在編譯過程中不做額外檢查,
#也可以使用*–enable-checking=xxx*來增加一些檢查

4. 編譯與安裝

make
#這一步需要時間非常久 可以使用 make -j 4 讓make最多運行四個編譯命令同時運行,加快編譯速度(建議不要超過CPU核心數量的2倍)

make install

5. 驗證gcc版本

gcc -v

Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (GCC)

驗證:gcc -v;或者g++ -v,如果顯示的gcc版本仍是以前的版本,就需要重啓系統;
或者可以查看gcc的安裝位置:which gcc;
然後在查看版本 /usr/local/bin/gcc -v
確定以及配置成功後可以將原先的版本刪除

6. 刪除舊版本

yum -y remove gcc g++

7. 配置新版本全局可用

ln -s /usr/local/bin/gcc /usr/bin/gcc

8. 更新動態庫

#查看當前的動態庫
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
#查看更新後的動態庫
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
# 安裝後的動態庫會位於/usr/local/lib64目錄下,
#其他版本在該目錄下尋找對應的動態庫libstdc++.so.6.X.XX

 

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