crosstool-ng 编译和安装

交叉编译工具下载:

git clone git@github.com:secularbird/crosstool-ng.git
 
切换到mac编译分支
git checkout origin/macporting -b macporting
该分支对编译中出现的一些编译error,进行了修正,并对mulitlib的编译进行了一定程度的修正
 
编译和安装
cd crosstool-ng
指定安装路径(默认安装在/usr/local下).,和mac下的一些ports工具,如gobjcopy,这些可以通过mac-ports 安装
./bootstrap
./configure --prefix=${install_path} --with-objcopy=/opt/local/bin/gobjcopy --with-objdump=/opt/local/bin/gobjdump --with-libtool=/opt/local/bin/glibtool --with-readelf=/opt/local/bin/greadelf --witibtoolize=/opt/local/bin/glibtoolize
make
make install
 
使用crosstool-ng编译arm工具链
ct-ng menuconfig
由于mac有些限制,有些地方需要特别设定下
具体步骤如下:
make version 3.82在编译glibc时有问题,打开EXPERIMENTAL feature以便使用自带的make
Paths and misc options  ---> [*] Try features marked as EXPERIMENTAL
打开debug功能,以便可以进行单个step的编译,而不是每次都重新编译所有的
Paths and misc options  ---> [*] Debug crosstool-NG
---> Debug crosstool-NG
---> gzip saved states (NEW)
Paths and misc options  ---> Maximum log level to see: (INFO) 
 
根据自己的需要定制cpu
Target options  --->   Target Architecture (arm)
Target options ---> (armv6k) Architecture level
Target options ---> (arm1176jzf-s) Tune for CPU
Target options ---> (vfp) Use specific FPU
 
Operating System  --->  Target OS (linux)
Operating System ---> Linux kernel version (2.6.32.60 (longterm))
 
C compiler  ---> C compiler (gcc)
C compiler ---> [*] Show Linaro versions
C compiler ---> gcc version (linaro-4.6-2013.04)
C compiler ---> [*] C++
apple gcc不支持静态链接,关闭静态链接
C compiler  ---> [ ] Link libstdc++ statically into the gcc binary
 
这里使用glibc 2.13
C-library  --->  C library (glib)
C-library ---> glibc version (2.13)
 
使用4.3.2的GMP,5.0+的存在编译问题
Companion libraries  ---> GMP version (4.3.)
 
编译自定义的make,
Companion tools  --->  [*] Build some companion tools
Companion tools ---> [*] make
 
Esc Esc 保存并退出设定界面
 
编译工具链
ct-ng build
 
 
编译完成后,工具链默认存放在在~/x-tools/下
 
 
 
 
 
 
 
 
 
 

mac上编译 arm linux gnueabi交叉编译工具链toolchain的更多相关文章

  1. Linux 安装交叉编译工具链

    交叉编译工具链下载地址: 链接:http://pan.baidu.com/s/1dE7P9rb 密码:300i 声明:下面每一步中的“pwd”指令都是为了看清楚当前的目录,没有其他实际意义. 系统:u ...

  2. Linux ARM交叉编译工具链制作过程【转】

    本文转载自:http://www.cnblogs.com/Charles-Zhang-Blog/archive/2013/02/21/2920999.html 一.下载源文件 源代码文件及其版本与下载 ...

  3. Linux下获取arm的交叉编译工具链

    转载请注明文章:Linux下获取arm的交叉编译工具链 出处:多客博图 这里介绍,Linux下获取arm的交叉编译工具链,比如arm-linux-gnueabihf-gcc.arm-linux-gne ...

  4. 【转】ARM交叉编译工具链

    原文网址:http://www.veryarm.com/cross-tools 为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台( ...

  5. ARM交叉编译工具链分类说明

    转载整理自:http://www.veryarm.com/cross-tools 从授权上,ARM交叉编译工具链分为免费授权版和付费授权版. 免费版目前有三大主流工具商提供,第一是GNU(提供源码,自 ...

  6. 交叉编译工具链介绍《Building Embedded Linux Systems》

    1.前言 配置和编译一个合适的GNU工具链是相对复杂的并且需要很精细的操作,包括你需要对不同软件库之间的依赖关系.它们的各自的任务,不同软件库版本情况都有比较好的了解,编译工具链是一个乏味的工作. 2 ...

  7. (一)arm交叉编译工具链准备

    1.背景 arm机器一般因为资源问题进行编译会影响开发速度,而且很多时候因为资源不够而无法完成编译工作.因此,需要在执行机上进行交叉编译,即使用x86或其他架构机器基于交叉编译工具编译出在arm上可以 ...

  8. 尝试在Mac上编译DNX

    自从XRE改名为DNX至今,从来没有在Mac OS X上成功编译过DNX.一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac.而且DNX用的2个持续集成服务Ap ...

  9. ARM交叉编译工具链

    交叉编译工具链是一个由编译器.连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils.gcc和glibc三个部分组成. 免费版目前有三大主流工具商提供,第一是GNU(提供源码,自行编译 ...

随机推荐

  1. SQL Server 学习系列之五

    SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  2. Springboot正常启动,但是访问404报错

    原因: 查看是否配置文件中有以下配置: server.context-path=/hellopath 我这里是以/hellopath为例,如果有该配置的话,只能通过该路径访问到. 其他原因

  3. height clientHeight scrollHeight offsetHeight的大致区别

    这主要是针对火狐浏览器来讲的: height:就是div的高度,就是style中设置的高度:在chrome中clientHeight是包含padding的,offsetHeight和clientHei ...

  4. linux下面的挂载点讲解

    linux.unix这类操作系统将系统中的一切都作为文件来管理.在windows中我们常见的硬件设备.磁盘分区等,在linux.unix中都被视作文件,对设备.分区的访问就是读写对应的文件.挂载点实际 ...

  5. c++ 端口扫描程序

    第一.原理 端口扫描的原理很简单,就是建立socket通信,切换不通端口,通过connect函数,如果成功则代表端口开发者,否则端口关闭. 所有需要多socket程序熟悉,本内容是在window环境下 ...

  6. catkin 工作空间

    catkin 工作空间:组织和管理功能包的文件夹,以 catkin 工具编译 建立工作空间 sch01ar@ubuntu:~$ mkdir -p ~/catkin_ws/src sch01ar@ubu ...

  7. mongodb用mongoose得到的对象不能增加属性解决

    一,先定义了一个goods(商品)的models var mongoose = require('mongoose'); var Schema = mongoose.Schema; var produ ...

  8. Solaris ssh配置主机间信任关系

    假设需要配置从主机com00biiitf001登录主机ols00biiitf001时不需要密码,则采用以下步骤配置: com00biiitf001上产生公用/私有密钥对 $ ssh-keygen -t ...

  9. python dict.fromkeys()研究

    def unique(seq): #return [x for x in my_list if x not in locals()['_[1]']] return {}.fromkeys(seq).k ...

  10. js分页demo

    纯js实现分页   原理:所有数据已加载好,js通过遍历部分显示,实现分页效果 html代码 <html> <head> <meta charset='utf-8'> ...