环境:VMware Workstation+ubuntu18.04
#指令步骤:
apt-get install gcc #安装gcc
apt-get install g++ #安装g++
apt install make #安装make
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz #下载gcc源码
tar -xvf gcc-11.2.0.tar.xz #解压gcc源码
cd gcc-11.2.0 #进入gcc目录
./contrib/download_prerequisites #下载配置gcc编译依赖文件
#配置gcc
./configure --prefix=/home/gcc11/ --enable-checking=release --enable-bootstrap --enable-languages=c,c++ --disable-multilib
make -j4 #编译,耗时很长
make install #安装
ln -s /home/gcc11/bin/gcc /usr/bin/gcc12 #链接
gcc12 -v #查看版本
下面是具体说明:
一、准备
1.安装gcc和g++
apt-get install gcc
apt-get install g++
不安装g++运行./configure --prefix=/home/gcc11/ --enable-checking=release...配置时会报如下错误。
configure: error: *** A compiler with support for C++11 language features is required.

本次系统默认安装的gcc版本是:gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
2.安装make
在编译gcc源码时提示没有make指令,所以可以提前安装一下。
apt install make

3.下载配置gcc源码
源码下载地址(根据需求选择版本):https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc
本次以gcc-11.2.0为例:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.2.0/

可以用浏览器直接下载gcc-11.2.0.tar.xz或者命令行用wget下载。浏览器下载速度较快。
下载后解压进入gcc-11.2.0文件夹执行./contrib/download_prerequisites等待下载gcc编译依赖文件。
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz
tar -xvf gcc-11.2.0.tar.xz
cd gcc-11.2.0
./contrib/download_prerequisites
如下所示依赖文件下载成功。

二、配置编译gcc
1.配置gcc
./configure -h可以查看参数说明
--prefix=PREFIX --prefix后跟执行make install安装路劲,没有该参数默认 [/usr/local]
--enable-languages 支持编译语言
配置可以调用gcc -v参考系统默认安装的gcc配置。
./configure --prefix=/home/gcc11/ --enable-checking=release --enable-bootstrap --enable-languages=c,c++ --disable-multilib
2.编译gcc
make -j4
make -h可以查看:-j后跟同时编程任务数量,可以设置为cpu逻辑内核数。
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
为了缩短编译时间可以将VMware Workstation虚拟机 的处理器内核数设置到最大值。
注:最大值由电脑处理器型号决定。

3.安装gcc
make install
4.设置链接
设置为gcc12是为了不影响系统安装的gcc,使两个版本可以共存。
ln -s /home/gcc11/bin/gcc /usr/bin/gcc12
至此gcc编译安装结束可以运行gcc12 -v查看版本

gcc12 -v是查看自己编译的gcc
gcc -v是查看系统安装的gcc
