首先你得有一个编译器才能编译编译器
- 下载GCC源码并解压
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.gz
tar -zxvf gcc-9.4.0.tar.gz
这里我选择了gcc-9.4.0版本
- 下载依赖文件
cd gcc-9.4.0
./contrib/download_prerequisites
- 编译前配置(configure)
mkdir build && cd build
../configure --enable-threads=posix --enable-checking --disable-multilib --enable-languages=c,c++,fortran,lto --prefix=/opt/envs/gcc-9.4.0 --host=x86_64-pc-linux-gnu
这里我选择安装目录为/opt/envs/gcc-9.4.0
, 建议设置自定义安装目录,后续可以方便同时管理或切换多个gcc版本
- 编译并安装
make -j3 && make install
- 设置GCC到环境遍历
export GCC_ROOT=/opt/envs/gcc-9.4.0
export PATH=${GCC_ROOT}/bin:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}/lib64:${LD_LIBRARY_PATH}
刷新终端尝试运行gcc -v
, 查看gcc版本是否切换成功