linux编译安装gcc

下载指定版本http://ftp.gnu.org/gnu/gcc/

1
wget http://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.xz

解压

1
2
tar -xvf gcc-8.1.0.tar.xz
cd gcc-8.1.0

编译

1
2
3
4
5
6
7
8
9
# 安装依赖
./contrib/download_prerequisites
# 编译目录
mkdir build
cd build
# 配置,安装到/usr/local/gcc目录
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
# make
make && make install

2cup+8g大概用了4个小时

加软链接

1
2
3
4
5
6
# 如果有老的版本先备份
sudo mv /usr/bin/gcc /usr/bin/gcc_bak
sudo ln -s /usr/local/gcc/gcc /usr/bin/gcc
# 如果有老的版本先备份
sudo mv /usr/bin/g++ /usr/bin/g++_bak
sudo ln -s /usr/local/gcc/g++ /usr/bin/g++

验证是否安装成功

1
gcc --version

centos7升级gcc.md

centos7默认安装的gcc版本是4.8.5,升级为最新版本

安装centos-release-scl

1
sudo yum install centos-release-scl

查看可安装的devtoolset版本

1
sudo yum search devtoolset

安装对应的版本

1
2
sudo yum install devtoolset-8-gcc
sudo yum install devtoolset-8-gcc-c++

安装devtoolset之后的目录是/opt/rh/devtoolset-8

激活

1
sudo source /opt/rh/devtoolset-8/enable

替换centos是老版本

1
2
3
4
5
6
# 替换gcc
sudo mv /usr/bin/gcc /usr/bin/gcc_bak
sudo ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
# 替换g++
sudo mv /usr/bin/g++ /usr/bin/g++_bak
sudo ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++