1、切換到root賬戶
2、安裝gcc4.8.5
yum install -y gcc gcc-c++
3、安裝bzip2
yum install -y bzip2
4、下載gcc10.2.0包
wget -P /home https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
出現錯誤:wget: 無法解析主機地址 “mirrors.aliyun.com”,手動修改dns即可;
5、解壓鏡像文件
cd /home && tar -xzvf /home/gcc-10.2.0.tar.gz
6、配置依賴項
cd /home/gcc-10.2.0 && ./contrib/download_prerequisites
這一步可能國內會等待比較久,耐心等待,如果出現error: Cannot download gmp-6.1.0.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/infrastructure/
錯誤,執行
wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
如果報錯其他文件不能下載,去https://gcc.gnu.org/pub/gcc/infrastructure/下載對應文件,復制到/home/gcc-10.2.0
即可。
7、創建安裝文件夾
mkdir /usr/lib/gcc/x86_64-redhat-linux/10.2.0
8、創建編譯文件夾
mkdir /home/gcc-build-10.2.0
cd /home/gcc-build-10.2.0
9、配置安裝文件
../gcc-10.2.0/configure --prefix=/usr/lib/gcc/x86_64-redhat-linux/10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
10、執行編譯並安裝(編譯需要2-3小時,請耐心等待)
make && make install
11、備份原gcc並鏈接新gcc
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 88 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc 99 --slave /usr/bin/g++ g++ /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-g++
alternatives --config gcc
12、查詢版本
gcc -v
g++ -v
13、替換庫鏈接
如果出現錯誤:
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
執行以下語句,鏈接新的libstdc++.so.6庫文件
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/lib/gcc/x86_64-redhat-linux/10.2.0/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
可以用以下指令查看目前包含哪些庫
strings /usr/lib64/libstdc++.so.6 | grep GLIBC