编译GCC
来源:互联网 发布:绯夜传奇 知乎 编辑:程序博客网 时间:2024/06/05 10:40
尝试自己编译一个gcc。
首先查看官方说明,了解gcc的安装说明。点击打开链接Installing GCC
通过阅读官方说明,了解到gcc的安装步骤大致如下
1、下载源码:
http://gcc.parentingamerica.com/releases/gcc-4.7.1/gcc-4.7.1.tar.gz #gcc源码下载地址https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2 #gmphttp://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.gz #mpfrftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz #mpc
各依赖库直接的关系
根据依赖,我是先安装gmp。但是安装的时候发现没有m4的库。又去下载了一个m4,下载地址如下
http://ftp.gnu.org/gnu/m4/m4-1.4.1.tar.gz
tar xvf m4-1.4.1.tar.gzcd m4-1.4.1./configuremakemake install## 安装m4
tar xvf gmp-6.0.0a.tar.bz2 cd gmp-6.0.0 ./configure make make install## 安装gmp
tar xvf mpfr-3.1.2.tar.gzcd mpfr-3.1.2./configuremake make install## 安装mpfr
tar xvf mpc-1.0.3.tar.gzcd mpc-1.0.3./configuremake make install## 安装 mpc
tar xvf gcc-4.7.1.tar.gzmkdir gcc_build cd gcc_build/ ../gcc-4.7.1/configuremake make install## 安装 gcc 创建构建目录是因为 gcc 的makefile没有clear 移植其它源码包时也可以使用这样的步骤
安装遇见的问题以及解决方法:
出现 configure: error: cannot compute suffix of object files: cannot compile 错误:
export LD_LIBRARY_PATH=/usr/local/lib ## 当执行函数的动态链接库时,动态链接库不在缺省目录下 /lib /usr/lib/ ## 那么就需要指定环境变量 LD_LIBRARY_PATH
出现 /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory 错误:
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH## C_INCLUDE_PATH (for C header files) 和 CPLUS_INCLUDE_PATH (for C++ header files) 环境变量## 指明头文件的搜索路径,这两个环境变量指明的头文件会在-I指定路径之后,系统默认路径之前进行搜索
后面编译 这个错误又出现一次。
export OBJC_INCLUDE_PATH=$C_INCLUDE_PATH
## We have set C_INCLUDE_PATH and CPLUS_INCLUDE_PATH, but still get this error? check carefully and it is building an obj-c file, i am building gcc for all language support (including c/c++/fotran/objc/go/java...), so, the only reason should be: the search path var is different for obj-c, by guess, i tried OBJC_INCLUDE_PATH and it works (as i do not have any experience on obj-c, i have to guess)!
出现 /usr/bin/ld: cannot find crti.o: No such file or directory错误:
export LIBRARY_PATH=/usr/lib/i386-linux-gnu/ ## LIBRARY_PATH 指明库搜索路径,这个环境变量指明的路径会在-L指定路径之后,系统默认路径之前被搜索
出现 #error "Never use <bits/string.h> directly;include <string.h>"
vi /usr/include/i386-linux-gnu/bits/string.h注释 下列几行//#ifndef _STRING_H//# error "Never use <bits/string.h> directly; include <string.h> instead."//#endif
1 0
- gcc编译
- GCC编译
- 编译GCC
- GCC编译
- gcc编译
- GCC编译
- gcc编译
- gcc编译
- gcc 编译
- 编译GCC
- gcc编译
- gcc编译
- 编译GCC
- gcc编译
- GCC 编译
- gcc编译
- gcc编译
- gcc 编译
- Fuck!资源文件引用顺序会导致代码或布局异常!
- 7.4 QTableWidget 用法总结
- 重定向的两种方法
- mysql实现oracle分析函数功能 over
- encienqi-----json-lib-2.4-jdk15.jar 组装json字符串
- 编译GCC
- Junit4精简解析
- Qt中Ui名字空间以及setupUi函数的原理和实现【zt】
- 当debug信息单独存放为一个文件时使用gdb调试CoreDump
- Nginx日志配置整理
- 【layout_weight权重】Android 对Layout_weight属性完全解析以及使用ListView来实现表格
- javascript之bind使用介绍
- 3-30
- 没有钱怎么办?那只好放平心态...