mac交叉编译
简书链接:mac交叉编译
文章字数:349,阅读全文大约需要1分钟
https://github.com/crosstool-ng/crosstool-ng/releases
下载最新版
该分支对编译中出现的一些编译error,进行了修正,并对mulitlib的编译进行了一定程度的修正
编译和安装
1 | cd crosstool-ng |
1 | xattr -d com.apple.quarantine ./configure //bad interpreter: Operation not permitted |
指定安装路径(默认安装在/usr/local下).,和mac下的一些ports工具,如gobjcopy,这些可以通过mac-ports 安装
1 | ./bootstrap |
1 | make |
使用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的编译,而不是每次都重新编译所有的
1 | Paths and misc options ---> [*] Debug crosstool-NG |
根据自己的需要定制cpu
1 | Target options ---> Target Architecture (arm) |
apple gcc不支持静态链接,关闭静态链接
1 | C compiler ---> [ ] Link libstdc++ statically into the gcc binary |
这里使用glibc 2.13
1 | C-library ---> C library (glib) |
使用4.3.2的GMP,5.0+的存在编译问题
1 | Companion libraries ---> GMP version (4.3.2) |
编译自定义的make,
1 | Companion tools ---> [*] Build some companion tools |
Esc Esc 保存并退出设定界面
编译工具链
1 | ct-ng build |
编译完成后,工具链默认存放在在~/x-tools/下
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 情迁博客!
评论