[分享棧]centos7安裝gcc10.2.0


1、切換到root賬戶

2、安裝gcc4.8.5

yum install -y gcc gcc-c++

gcc1020installgcc485.png

gcc1020installgcc485finish.png

3、安裝bzip2

yum install -y bzip2

gcc1020installbzip2.png

gcc1020installbzip2finish.png

4、下載gcc10.2.0包

wget -P /home https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz

gcc1020downloadpackage.png

出現錯誤:wget: 無法解析主機地址 “mirrors.aliyun.com”,手動修改dns即可;

5、解壓鏡像文件

cd /home && tar -xzvf /home/gcc-10.2.0.tar.gz

gcc1020untarfinish.png

6、配置依賴項

cd /home/gcc-10.2.0 && ./contrib/download_prerequisites

gcc1020downloadrequire.png

這一步可能國內會等待比較久,耐心等待,如果出現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

gcc1020readyfile.png

gcc1020readyfilefinish.png

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

gcc1020backipgcc.png

gcc1020linknewgcc.png

12、查詢版本

gcc -v
g++ -v

gcc1020gccv.png

gcc1020g++v.png

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

gcc1020linklib.png

可以用以下指令查看目前包含哪些庫

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

gcc1020linklibfinish.png


免責聲明!

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



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