centos 源码编译gcc10.2

前言

随着时代进步,很多编译需要c++14等更高的编译环境。

安装包 版本 必选 说明
gcc 10.2.0 gcc g++ c++
gmp 6.2.0  用于高精度整数运算的开源库
mpfr 4.1.0 用于高精度浮点数运算的开源库
mpc 1.2.1 用于高精度复数运算的开源库
isl 0.22 用于处理整数集合和多维多项式的开源库

源码下载

源代码库

这是个广义的库,需要什么安装包进去按名称搜索即可。

gmp-6.2.0

./configure --prefix=/usr/local/gmp-6.2.0
make && make install

mpfr-4.1.0

./configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.2.0
make -j4 && make install

mpc-1.2.1

./configure --prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-6.2.0 \
--with-mpfr=/usr/local/mpfr-4.1.0
make -j4 && make install

isl-0.22 

./configure --prefix=/usr/local/isl-0.22 --with-gmp-prefix=/usr/local/gmp-6.2.0 
make -j4 && make install

依赖库环境变量

vi /etc/ld.so.conf
/usr/local/gmp-6.2.0/lib
/usr/local/mpfr-4.1.0/lib
/usr/local/mpc-1.2.1/lib
/usr/local/isl-0.22/lib
ldconfig -v

gcc-10.2.0

一定要新建文件夹 

mkdir build && cd build
/usr/src/gcc-10.2.0/configure --prefix=/usr/local/gcc10.2.0 --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux --with-gmp=/usr/local/gmp-6.2.0 --with-mpc=/usr/local/mpc-1.2.1 --with-mpfr=/usr/local/mpfr-4.1.0 --with-isl=/usr/local/isl-0.22 --disable-multilib
make -j8 
make install

 gcc环境变量

cd /usr/bin
mv gcc gcc.old
mv g++ g++.old
mv c++ c++.old
ln -s /usr/local/gcc10.2.0/bin/gcc gcc
ln -s /usr/local/gcc10.2.0/bin/g++ g++
ln -s /usr/local/gcc10.2.0/bin/c++ c++
vi /etc/profile
export CC=/usr/bin/gcc
export PATH=/usr/local/gcc10.2.0/bin:$PATH
source /etc/profile

你可能感兴趣的:(Linux,centos,linux,运维)