首先Cygwin需安装基本的命令 例如make binutils gcc 还有diffutils 没有他会报找不到cmp命令 这些都可以在setup.exe中找到

编译gcc时,需要注意一个原则:不要再gcc的源码中直接执行./configure、make、make install等命令,需要在源码目录下另外新建一个目录,在新建的目录中执行以上命令。

why?请看:http://gcc.gnu.org/install/build.html,为了防止该网址失效,我摘录重要部分如下:

If you encounter seemingly strange errors when trying to build the compiler in a directory other than the source directory, it could be because you have previously configured the compiler in the source directory. Make sure you have done all the necessary preparations.

不要小看这个提示,好多错误都出自这里。好,问题有了,解决办法呢?很简单:假如gcc源码在/source目录下,

原文地址:http://blog.csdn.net/qianlong4526888/article/details/8192407

prefix指定安装的路径 在执行make install时会安装到指定的目录下

gmp,mpfr,mpc是编译gcc用到的库 下载各自的源码解压到gcc目录 然后更名去掉版本号

gcc-5.2.0\

     \gmp\

       \mpfr\

       \mpc\

其他文章说要安装 事实上只要放入gcc目录就行。

target 也有要求 并不是生成文件前缀那么简单

交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

  • arch - 体系架构,如ARM,MIPS
  • vendor - 工具链提供商
  • os - 目标操作系统
  • eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface)

根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如

  • arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于嵌入式系统的C库。
  • arm-none-linux-eabi:用于Linux的,使用Glibc

原文地址:http://www.veryarm.com/296.html

编译的流程是

1.编译binutils

2.编译无依赖的gcc 主要用于编译glibc 仅支持c语言就行 这样编译出来的glibc不会引用系统任何库

3.用上一步的gcc编译glibc

4.编译完整gcc

PS:这几天好像进了一个大坑 尝试用Cygwin搭建交叉编译环境

结果binutils gcc都编译完了 glibc不支持 换了Msys2也不行

之前看别人的文章有成功过 不知是哪出了问题

最新文章

  1. iOS 让按钮上的标题换行显示
  2. 2015-01-19 .Net 软件工程师 笔试题
  3. JS-鼠标经过显示二级菜单
  4. Javascript软键盘设计
  5. Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
  6. 在CentOS下安装WebBench进行web 性能测试
  7. openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
  8. C# 实现HTML5服务器推送事件
  9. VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)
  10. 发现一个Doxygen风格的QT帮助
  11. 正式生产环境下hadoop集群的DNS+NFS+ssh免password登陆配置
  12. hadoop在实现kmeans算法——一个mapreduce实施
  13. ubuntu---网络管理
  14. mac连接windows远程桌面及文件复制
  15. Java开发笔记(四十)日期与字符串的互相转换
  16. Python基础之数组和向量化计算总结
  17. Perl面向对象(3):解构——对象销毁
  18. PMS-授权中心
  19. torchvision.datasets.ImageFolder数据加载
  20. Android: protecting the kernel

热门文章

  1. Entity Framework Batch Update
  2. 20151226--easyUI
  3. Python核心编程读笔 1
  4. Algorithms 4th - 1.1 Basic Programming Model - EXERCISES
  5. sersync+inotify实时备份数据
  6. java中JSON串转换并获取数据
  7. requirejs + vue 项目搭建
  8. redis的内部实现机制
  9. HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()
  10. 如何在C++中获得完整的类型名称(RTTI的typeid在不同平台下有不同的输出值表达,自建类改进了RTTI丢失的信息)