新安装的centos操作系统gcc版本是4.8.4很多源码编译不过,例如下边这段源码都无法编译通过
for(int i = 0; i < 100; i++)
只能写成下边这种形式
int i = 0;
for(i = 0; i < 100; i++)
所以需要将现有gcc版本做升级,下方就是编译升级方法
环境准备
已经安装gcc的linux系统
下载gcc以及依赖
直接编译gcc会报错,提示需要gmp和mpfr或者是mpc,需要将这些源码一并下载,下载地址在下方展示
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.xz
tar -xvf gcc-11.1.0.tar.xz
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2
tar -xvf mpfr-4.1.0.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2
tar -xvf gmp-6.2.1.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz
编译&安装依赖库
有限先编译安装mpfr和gmp,mpfr依赖gmp所以
# 编译gmp
cd gmp-6.2.1
mkdir build_nj
cd build_nj
../configure --prefix=/home/baser/gccbuilder/install
make -j10 && make install
# 编译mpfr
mkdir build_nj
cd build_nj
../configure --prefix=/home/baser/gccbuilder/install --with-gmp=/home/baser/gccbuilder/install
make -j10 && make install
编译&安装gcc
mkdir build_nj
cd build_nj
../configure --prefix=/usr/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-mpfr=/home/baser/gccbuilder/install --with-gmp=/home/baser/gccbuilder/install --with-mpc=/home/baser/gccbuilder/install
export LD_LIBRARY_PATH=/home/baser/gccbuilder/install/lib
make -j10 && make install
安装失败权限不够,需要加上sudo
sudo make install
测试
gcc --version