由于gcc为基础工具,多用户安装容易引发冲突,因此以下步骤建议在root用户下执行。
1 | rm -rf /tmp/* |
1 | yum install bzip2 |
1 | apt-get install bzip2 |
1 | tar -zxvf gcc-7.3.0.tar.gz --no-same-owner |
1 2 | cd gcc-7.3.0 ./contrib/download_prerequisites |
如果执行上述命令报错,需要执行如下命令在“gcc-7.3.0/”文件夹下面下载好以下依赖包:
1 2 3 4 | wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 wget http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz wget http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 |
下载好上述依赖包后,重新执行以下命令:
1 | ./contrib/download_prerequisites |
如果上述命令校验失败,需要确保依赖包为一次性下载成功,无重复下载现象。
1 | ./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0 |
其中“--prefix”参数用于指定gcc7.3.0安装路径,用户可自行配置,但注意不要配置为“/usr/local”及“/usr”,因为会与系统使用软件源默认安装的gcc相冲突,导致系统原始gcc编译环境被破坏。示例指定为“/usr/local/gcc7.3.0”。
1 | make -j15 # 通过grep -w processor /proc/cpuinfo|wc -l查看cpu数,示例为15,用户可自行设置相应参数。 |
1 | make install
|
1 2 3 4 | export LD_LIBRARY_PATH=/usr/local/gcc7.3.0/lib64:${LD_LIBRARY_PATH} export CC=/usr/local/gcc7.3.0/bin/gcc export CXX=/usr/local/gcc7.3.0/bin/g++ export PATH=/usr/local/gcc7.3.0/bin:${PATH} |
其中“/usr/local/gcc7.3.0”为4.c中配置的gcc7.3.0安装路径,请根据实际情况替换。