GCC 11.2 安装

其他版本,如9.5,12.1等都可以用同样方法编译安装,但是依赖包不一样,需要到gcc官网下载对应的依赖包和源码包

前置条件

首先把Ubuntu提供的各种构建工具都给他装上

sudo apt install build-essential manpages-dev software-properties-common gcc g++ make bison binutils gcc-multilib flex

下载源码包

可以到gnu镜像列表找到离你最近的镜像站,下载源码包。注意一定要下载编译所需的依赖包。如下:
(我这边最快的是jp的镜像站,每个人情况不同,根据实际情况替换其中的ftp.tsukuba.wide.ad.jp,如果嫌麻烦可以点击这里下载)

http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-11.2.0/gcc-11.2.0.tar.gz
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/gmp-6.1.0.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/isl-0.18.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpc-1.0.3.tar.gz
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpfr-3.1.6.tar.bz2

注意,需要的依赖包版本必须一致:

  1. gmp-6.1.0
  2. isl-0.18
  3. mpc-1.0.3
  4. mpfr-3.1.6

安装步骤

  1. 首先解压gcc-11.2.0.tar.gz到任意目录(前提必须安装解压gz的工具,不在本教程讨论范围内,自行安装),例如~家目录:
    mv gcc-11.2.0-tar.gz ~
    cd ~
    tar xf gcc-11.2.0.tar.gz
    cd gcc-11.2.0/
    
  2. 拷贝或移动依赖包到源码根目录,注意是源码的根目录,并执行前置脚本
    # 当前在~/gcc-11.2.0/ 目录下
    ./contrib/download_prerequisites
    # 此时会解压我们放在源码根目录下的依赖包,并创建软连接
    
  3. 然后创建构建目录,并配置参数
    mkdir build
    cd build
    ../configure configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-11.2 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-11.2
    # 说明一下,这里配置了将gcc安装在/usr/local/gcc-11.2目录下
    # 并且编译后的可执行文件名为gcc-11.2以及g++-11.2等等
    
  4. 随后,在build目录下执行make -j8(4核机器用-j8,八核机器可以用-j16),就可以开始漫长的编译过程了。
  5. 编译完之后别忘了 make install

使用

最简单的方式就是在.bashrc中添加新gcc的环境变量:

# 配置可执行文件路径
export PATH=/usr/local/gcc-11.2/bin:$PATH
# 配置链接库路径
export LD_LIBRARY_PATH=/usr/local/gcc-11.2/lib64:$LD_LIBRARY_PATH

# 配合CMake 使用的环境变量
export CC=/usr/local/gcc-11.2/bin/gcc-11.2
export CXX=/usr/local/gcc-11.2/bin/g++-11.2
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐