Linux---GCC源码编译安装

一、准备工作

  • 系统环境: 确保你的Linux系统环境满足GCC编译的依赖要求。不同的Linux发行版可能有所不同,但一般来说,你需要安装一些基本的开发工具,如make、gcc(用于编译过程中的某些工具)、bzip2等。
  • 下载GCC源码和相关依赖: 从GCC的官方网站或其镜像站点下载你需要的GCC版本源码和相关依赖。
  • 更多GCC安装相关信息可以参考这篇文章:GCC 的先决条件 - GNU 工程

二、下载

  • 我们需要下载以下源码包

    • GMP:用于高精度算术运算。

      wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
      
    • MPFR:基于GMP的浮点数运算库。

      wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2
      
    • MPC:基于GMP和MPFR的复数运算库。

      wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz
      
    • GCC:一个广泛使用的免费开源的编程语言编译器,特别适用于C、C++、Fortran、Objective-C、Objective-C++、Ada、Go等多种编程语言。

      wget http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
      
  • 如果下载不了可以使用百度网盘下载然后上传到自己服务器上(请各位支持正版软件,此链接仅用于学习分享)

    百度网盘链接: https://pan.baidu.com/s/1vIyj8qLejaSS4RXgRWfGyw?pwd=hzgn

    提取码: hzgn

三、解压编译安装

  • 解压

     for tar in *.tar.*;do tar -xvf $tar;done
    
  • 编译安装GMP

    cd gmp-6.1.0
    ./configure --prefix=/usr/local/gmp-6.1.0
    make&&make install
    cd ..
    
  • 编译安装MPFR

    cd mpfr-4.1.0
    ./configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.1.0
    make&&make install
    cd ..
    
  • 编译安装MPC

    cd mpc-1.2.1
    ./configure --prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-4.1.0 
    make&&make install
    cd ..
    
  • 编译安装GCC

    cd gcc-12.2.0
    ./configure --prefix=/usr/local/gcc-12.2.0 --enable-checking=release  --disable-multilib --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-4.1.0 --with-mpc=/usr/local/mpc-1.2.1
    make&&make install
    
    1. ./configure:这是GCC源代码包中的一个脚本,用于检查你的系统环境,并生成适合你的系统的Makefile文件。Makefile文件随后会被make命令使用来编译GCC。
    2. --prefix=/usr/local/gcc-12.2.0:这个选项指定了GCC安装后的根目录。在这个例子中,GCC将被安装到/usr/local/gcc-12.2.0目录下。这意味着所有的可执行文件、库文件、头文件等都将位于这个目录或其子目录下。
    3. --enable-checking=release:这个选项启用了GCC内部的某些检查,以帮助开发者在发布版本中发现潜在的问题。release模式意味着这些检查在编译时和运行时都是启用的,但可能会稍微降低性能。与之相对的是debug模式,它提供了更多的检查,但性能损失更大。
    4. --enable-languages=c,c++:这个选项指定了要编译的GCC支持的编程语言。在这个例子中,只启用了C和C++语言的支持。GCC还支持其他语言,如Fortran、Ada、Go等,但在这个配置中没有启用它们。而我上面没有进行配置
    5. --disable-multilib:这个选项禁用了多库(multilib)支持。多库支持允许在同一系统上编译和安装针对不同处理器架构(如32位和64位)的库。禁用多库支持可以减少编译时间和安装空间,但意味着你不能在同一GCC安装中编译和链接针对不同架构的代码。

四、验证

  • 执行下面命令验证安装

    /usr/local/gcc-12.2.0/bin/gcc -v
    

    出现gcc编译器相关信息说明安装成功

    在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值