1.编写升级脚步
su
cd /usr/src
vim upgradeGcc.sh
#!/bin/bash
#获取源码
#sudo wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.gz
wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.gz
#解压
#sudo tar -xvf gcc-8.1.0.tar.gz
tar -xvf gcc-8.1.0.tar.gz
cd gcc-8.1.0
#sudo ./contrib/download_prerequisites
./contrib/download_prerequisites
cd ..
#建立编译输出目录
#sudo mkdir gcc-build-8.1.0
mkdir gcc-build-8.1.0
#进入下面目录,执行命令,生成Makefile文件
cd gcc-build-8.1.0
#sudo ../gcc-8.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
../gcc-8.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高
#sudo make -j4
make -j4
#安装
#sudo make install
make install
2.执行脚步
chmod 777 upgradeGcc.sh
./upgradeGcc.sh
3.检测版本
gcc -v
4.头文件在哪
/usr/local/include/c++/8.1.0
老版本在:
/usr/include/c++/5/
5.编译程序并执行
./test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./test)
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
//最新只到了22
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
http://ftp.de.debian.org/debian/pool/main/g/gcc-8/
ar -x lib64stdc++6_8.1.0-8_i386.deb
tar xvJf data.tar.xz
cd ./usr/lib64/
mv libstdc++.so.6.0.25 /usr/lib/x86_64-linux-gnu/
cd /usr/lib/x86_64-linux-gnu/
rm libstdc++.so.6
ln libstdc++.so.6.0.25 libstdc++.so.6