之所以有这篇基础的文章,是因为虽然 gcc 编译我已经做过很多遍,但每一次在不同平台上编译时都还会遇到各种各样的问题,为了使这样的情况不再出现浪费时间,影响工作的连续性,所以决定写篇备忘,以供自己查阅,也可以分享出来,让大家不要在这上面浪费时间。
依赖环境:
    Bison 包,g++ 包,可以在 centos6.5 镜像中找到;
安装步骤:
a) 源码下载
b) 解压,如 gcc-4.9.4
c) cd gcc-4.9.4

由于 gcc 依赖 gmp, mprf, mpc 三个库,可以通过两种途径安装。
 下载安装包安装
ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2
http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz
 执行 ./ contrib/download_prerequisities

d) 安装依赖库

 gmp
cd gmp
mkdir build
cd build
../configure –prefix=/usr/local/gcc/gmp
make && make install
 mpfr
cd ../../mpfr
mkdir build
cd build
../configure –prefix=/usr/local/gcc/mpfr –with-gmp=/usr/local/gcc/gmp
make && make install
 mpc
cd ../../mpc
mkdir build
cd build
../configure –prefix=/usr/local/gcc/mpc –with-mpfr=/usr/local/gcc/mpfr –with-gmp=/usr/local/gcc/gmp
make && make install

e) 在 /etc/ld.so.conf 文件中添加以下内容

/usr/local/gcc/gmp-4.3.2/lib
/usr/local/gcc/mpfr-2.4.2/lib
/usr/local/gcc/mpc-0.8.1/lib
然后运行 ldconfig 加入到库搜索路径中。

f) 编译 gcc

cd ../..
mkdir build
cd build
../configure –prefix=/usr/local/gcc –enable-threads=posix –disable-checking –enable-languages=c,c++ –disable-multilib

make && make install

g) Ps:

如果编译过程中遇到问题,需要重新编译,需要执行 make distclean 来清除中间文件,然后重新配置。错误信息也可以在 build 下面的 config.log 里面看到。

gcc 4.9.4 编译相关推荐

  1. arm linux gcc 4.6.3,编译gcc-4.6.3

    编译gcc-4.6.3 准备 下载GCC 源码包 : gcc-4.6.3.tar.bz2 下载GCC 依赖包: gmp-5.0.4.tar.bz2, mpfr-3.1.0.tar.bz2 ,mpc-0 ...

  2. 【嵌入式开发】gcc 学习笔记(一) - 编译C程序 及 编译过程

    一. C程序编译过程 编译过程简介 : C语言的源文件 编译成 可执行文件需要四个步骤, 预处理 (Preprocessing) 扩展宏, 编译 (compilation) 得到汇编语言, 汇编 (a ...

  3. GCC跟NASM联合编译

    GCC跟NASM联合编译 GCC和NASM联合编译 GCC和NASM GCC不用说,C语言的编译器.NASM是一个x86的汇编器,用来编译汇编的.最近在研究GCC和NASM联合编译,为什么要研究二者的 ...

  4. gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解

    例子:由多个源文件组成的C程序,经过编辑.预处理.编译.链接等阶段才能生成最终的可执行程序.此过程中,在__c__阶段可以发现被调用的函数未定义. A. 编辑和预处理 B. 预处理 C. 编译 D. ...

  5. vxworks gcc linux,针对VxWorks的GCC交叉编译器无法编译C++

    我试图移植Linux库以在VxWorks上运行.我已经成功构建了binutils和gcc,目标为i486-wrs-vxworks,我可以成功构建一个简单的C程序.但是,当我尝试编译C++时,事情就会中 ...

  6. GCC 使用-C语言编译过程

    任何一种高级语言,要想在机器上执行,必须翻译为机器能读懂的机器语言.编译器就相当于翻译官,将高级语言翻译为机器语言. GCC 最初只用了编译 C 语言程序,全称是 GNU C Compiler.后来扩 ...

  7. VScode使用记录二:Windows 7下安装GCC、使用VSCode编译代码

    目录 一.概述 二.安装 2.1 GCC编译器 2.2 安装VSCode 2.3 安装插件 三.编译文件 3.1 编译单个文件 3.2 编译多个文件 四.调试程序 一.概述 平时都是在keil下工作, ...

  8. 【Linux-GNU编译器套件(gcc/g++/gfortran)离线编译安装】

    文章目录 Linux-centos7.9系统GNU编译器套件(gcc/g++/gfortran)离线编译安装 一.★GNU编译器套件定义 二.★GNU-GCC编译环境说明 三.★GNU-GCC编译安装 ...

  9. 系统开发c语言技术参数,1 C语言 gcc 介绍 C 语言编译 main接受参数

    1 C语言 gcc 介绍 C 语言编译 main接受参数 发布时间:2020-07-19 20:18:28 来源:51CTO 阅读:1216 作者:990487026 1第一个c语言的hello wo ...

  10. gcc——预处理(预编译),编译,汇编,链接

    一,预编译 操作步骤:gcc -E hello.c -o hello.i 主要作用: 处理关于 "#" 的指令 [1]删除#define,展开所有宏定义.例#define port ...

最新文章

  1. mysql 连接超时 wait_timeout interactive_timeout 简介
  2. Qt Remote Object(QtRO)给指定的客户端发送消息
  3. android标题返回,【Android开发】自定义控件——带返回键标题栏
  4. 来自极客标签10款最新设计素材-系列七
  5. php 创建目录_使用SMB绕过PHP远程文件包含限制
  6. python怎么批量处理数据_python如何批量处理excel数据?_后端开发
  7. java 匿名函数_国外程序员用的火热的Vavr是什么鬼?让函数式编程更简单!
  8. 阿里云播放器单击切换播放/暂停
  9. 360安全路由器外网连内网(端口映射)的设置方法
  10. JQuery读取txt文件
  11. 在真机测试遇到The executable was signed with invalid entitleme
  12. TYPE g_date_tbl_typ IS TABLE OF DATE INDEX BY VARCHAR2(1000);
  13. 国足2-0击败菲律宾,重获出线主动权,下次对战叙利亚做了哪些准备?
  14. 游戏的现实规则和非现实规则
  15. XMind2TestCase 库的使用及自定义导出文档的格式
  16. python pie图
  17. 最小二乘法,简明公式整理,数学证明,matlab程序(自写代码、lsqcurvefit函数、fminsearch函数)
  18. ubuntu QT安装
  19. Netlist与RTL仿真结果不匹配
  20. 微信支付appid参数不正确

热门文章

  1. Stm32F103RC驱动ili9488 LCD TFT 3.5寸液晶屏
  2. 麒麟子Javascript游戏编程零基础教程三:无处不在的Javascript
  3. xorm中的affected什么意思?
  4. 数学建模中的层次分析法
  5. av_write_frame 与 av_interleaved_write_frame
  6. win10系统/用anaconda安装pytorch/再把虚拟环境配到pycharm的流程
  7. shiro报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.
  8. 【imessage苹果群发推送邮箱】日历软件安装苹果微处理机 通例装置脚本
  9. Final Cut Pro x(FCPX)调色笔记
  10. python金融量化 pdf_python量化交易pdf,Python和金融分析的关系?量化交易内容深度?...