1、下载源码
http://mirror.hust.edu.cn/gnu/gcc/
http://mirrors.nju.edu.cn/gnu/gcc/
http://mirrors.ustc.edu.cn/gnu/gcc/
https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/
2、解压后进入目录
3、执行./contrib/download_prerequisites,下载三个需要的依赖包,可以打开脚本看看。过程中千万不要中断,等一会就好了。
4、安装下载好的依赖包
4.1安装gmp
cd gmp
sudo mkdir build
cd build
sudo ../configure --prefix=/usr/local/gcc/gmp-4.3.2
make -j20 && make install
4.2安装mpfr
cd mpfr
sudo mkdir build
cd build
sudo ../configure --prefix=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2
make -j20 && make install
4.3安装mpc
cd mpc
sudo mkdir build
cd build
sudo ../configure --prefix=/usr/local/gcc/mpc-0.8.1 --with-mpfr=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2
make -j20 && make install
5、vim /etc/ld.so.conf,将三个包的安装路径写进去,我的是
/opt/gcc/7.3.0/gmp-6.1.0/lib
/opt/gcc/7.3.0/mpc-1.0.3/lib
/opt/gcc/7.3.0/mpfr-3.1.4/lib
6、回到gcc主目录,mkdir build && cd build
sudo ../configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib
注意:如果需要gfortran,需要写成:--enable-languages=c,c++,fortran
参数解释:
–prefix=--prefix=/home/gcc11 (指定安装路径)
–enable-checking=release (增加编译过程中的一些检查)
–disable-multilib ( 取消多目标库编译,取消32位库编译,在64位机器上默认为enable-multilib)
–enable-languages=c,c++ (编译器支持编译的语言)
–enable-bootstrap (进行冗余的编译检查工作)
make && make install
安装完成