zoukankan      html  css  js  c++  java
  • 如何在Linux下手动编译安装gcc

    如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择。用apt安装,只需要输入一条命令:

    sudo apt-get install gcc
    

    手工编译的话,gcc和其他软件包存在如下的依赖关系:

    因此各个软件包的安装顺序是m4 --> gmp --> mpfr --> mpc --> gcc。编译之前,请先下载各软件包的源码压缩包。

    编译

    各个软件包的编译步骤大同小异,这里以m4为例。假设下载的m4文件名为m4-1.4.16.tar.gz,存放在~/gcc_depend目录下。先进入到存放目录,解压:

    cd ~/gcc_depend
    tar zxvf m4-1.4.16.tar.gz
    

    我们把m4安装到/usr/local目录下。先创建目录,并运行配置文件,生成Makefile

    sudo mkdir /usr/local/m4-1.4.16 # 创建安装目录
    cd /usr/local/m4-1.4.16 # 切换到安装目录
    sudo ~/gcc_depend/m4-1.4.16/configure --prefix=/usr/local/m4-1.4.16 # 通过configure脚本来生成Makefile
    

    编译,这一步在安装目录下完成:

    sudo make
    sudo make install
    

    编译完成后,检查是否有误:

    sudo make check # 编译和运行测试用例
    

    如果所有测试用例都pass了,说明编译成功。
    其他软件包的编译过程大致如此,总结为如下几步:

    • 1、解压源码
    • 2、创建安装目录,并切换到安装目录,通过configure脚本来生成Makefile
    • 3、编译
    • 4、检查测试用例

    注意事项

    • 1、安装mpfr时,可能会提示找不到gmp,这个时候要在--prefix=安装目录后再加上--with-gmp=/usr/local/gmp-xxx,其中gmp-xxx为gmp安装目录;安装mpc时可能会有同样的问题,也要这样处理。
    • 2、 每次安装完一个包,要把安装目录下的lib目录添加到环境变量LD_LIBRARY_PATH中。
  • 相关阅读:
    STL实现的底层数据结构简介
    C++ STL中Map的按Key排序和按Value排序
    algorithm库介绍之---- stable_sort()方法 与 sort()方法 .
    git取消更改 恢复版本命令
    unbuntu下清理磁盘空间
    x265编码命令
    SQLServer数据库获取重复记录中日期最新的记录
    牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!
    哎!又要过年了,程序员最怕问到什么?
    swagger 使用指南
  • 原文地址:https://www.cnblogs.com/jiaxblog/p/9478756.html
Copyright © 2011-2022 走看看