下载 gcc 源码
https://github.com/gcc-mirror/gcc.git 从这个 github 中下载 zip 压缩包,记得选择 release 版本
编译
解压之后,在解压出来的目录执行
./contrib/download_prerequisites
提示最后一句: All prerequisites downloaded successfully. 表示成功
注意,编译需要 g++,如果没有安装可以使用 sudo apt install g++ 先安装一个版本
执行
./configure --prefix=/usr/local/gcc-9 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
–prefix 是指定安装在哪个目录,如果需要多个 gcc 版本切换,这个需要是一个独立的目录
之后使用 make && sudo make install 编译安装即可
多版本切换
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-9/bin/gcc 20 --slave /usr/bin/g++ g++ /usr/local/gcc-9/bin/g++
需要将命令里面对应的地方替换为自己的目录,之后使用命令
sudo update-alternatives --config gcc
进行选择切换即可。
环境变量
将对应版本的 libstdc++ 路径添加到 LD_LIBRARY_PATH 环境变量中,修改 ~/.profile
export LD_LIBRARY_PATH=/usr/local/gcc-9/lib64:$LD_LIBRARY_PATH
之后 source ~/.profile