mac上编译 arm linux gnueabi交叉编译工具链toolchain

摘要:
交叉日志编译和安装交叉编译工具下载:gitclonegit@github.com:安全鸟/交叉工具ng。Git切换到mac编译分支gitcheckoutorigin/macportingbmacporting。这个分支修复了编译中的一些编译错误,并在一定程度上修复了mulitlib的编译。编译和安装cdcrosstool ng指定安装路径

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.2)
 
编译自定义的make,
Companion tools  --->  [*] Build some companion tools 
Companion tools  --->  [*]   make
 
Esc Esc 保存并退出设定界面
 
编译工具链
ct-ng build
 
 
编译完成后,工具链默认存放在在~/x-tools/下
 
 
 
 
 
 
 
 
 
 

免责声明:文章转载自《mac上编译 arm linux gnueabi交叉编译工具链toolchain》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇正则匹配药品规格中的系数CDH集群主节点宕机恢复下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PythonWeb 服务部署文档及迁移到Linux相关

pythonWeb的部署(Django+Uwsgi): 1、 部署服务器上需要的Python3.6环境: 安装集成了python3.6 和pip ,virtualenv虚拟环境 的Anaconda(Anaconda3-5.0.1-Lin-x86_64.sh) 下载地址 :https://mirrors.tuna.tsinghua.edu.cn/anacon...

iOS开发者账号详细介绍

前言:   做为一个iOS应用的开发者,在编码调试过程中,可以使用模拟器来完成整个过程。但是在最后提交上线App的时候,就必须要有一个苹果开发者账号。而我作为一个近乎完全自学的iOS开发者,在开发者证书上也是绕了很多圈,迷茫迷惑。在反复摸索验证的情况下。最后看透了这一切。最初一开始是在淘宝网上购买证书的,后来在公司有了自己的个人开发者账号,在个人开发者账号...

Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向

一、shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员。 shell是系统跟计算机硬件交互使用的中间介质,一个系统工具。实际上在shell和计算机硬件之间还有一层——系统内核。如果吧计算机比作人的躯体,那系统内核就是人的大脑,至于shell,把它比做人的五官更贴切。 其实,用户直接面对的不是计算机硬...

linux内核内存分配(三、虚拟内存管理)

        在分析虚拟内存管理前要先看下linux内核内存的具体分配我開始就是困在这个地方。对内核内存的分类不是非常清晰。我摘录当中的一段: 内核内存地址==================================================================================================...

linux下eclipse的安装

Eclipse的安装http://java.sun.com/javace/downloads/index.jsp下载:Jdk-6u17-linux-i586.binhttp://www.eclipse.org/downloads下载:Eclipse-SDK-3.14-linux-gtk.tar.gzhttp://www.eclipse.org/cdt/do...

让Win10字体变得像苹果电脑那样细腻

原文:https://zhuanlan.zhihu.com/p/262156983 字体显示效果,这点用过Mac的感受最明显,windows的字体相比苹果电脑总是有一种毛刺的感觉,而mac更顺滑,因为默认情况下,windows的字体显示效果的确没有mac那么好,这不是显示器或分辨率的问题,而是windows历史遗留下来的锅 明显看出win毛刺感更强 首先搜...