CentOS7 更新 gcc

前置条件:建议更新make

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

yum -y install wget bzip2 gcc gcc-c++ glibc-headers

# 下载gcc包到自己的目录,-P后面的下载目录自己指定
# 下载这个文件可以直接去官网下,反而更快一些,
# 下载地址:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc(自己选择版本)
wget -c -P /opt/software/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz

# 解压
cd /opt/software/
tar -zxvf gcc-8.2.0.tar.gz
# 解压要好久,可以喝杯茶放松一下

cd gcc-8.2.0
./contrib/download_prerequisites #下载gmp mpfr mpc等供编译需求的依赖项

# 不能在source目录下configure,必须在上一层的目录下
mkdir build

cd bulid

../configure --prefix=/usr/local/gcc-8.2.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib

# 启用cpu 12个线程进行编译
make -j12
# 结果:

# 接下来安装它
make install

# 写配置文件
echo -e '\nexport PATH=/usr/local/gcc-8.2.0/bin:$PATH\n' >> /etc/profile.d/gcc.sh && source /etc/profile.d/gcc.sh

# 导出头文件
ln -sv /usr/local/gcc-9.2.0/include/ /usr/include/gcc

#配置生效
ldconfig -v
# 结果:

# 导出验证
ldconfig -p |grep gcc
# 结果:

# 查看版本
gcc -v