Mac OS X上的Linux交叉编译器?

时间:2011-03-09 11:59:49

标签: linux macos gcc cross-compiling

我一直在网上阅读很多关于在mac os x上为linux创建交叉编译器的文档,但是无法通过缝合来获得任何工作。

它接缝好像没有人可以帮我解决这个问题:Getting GMP to work with GCC 4.5.2

有没有简单的方法来创建交叉编译器?

2 个答案:

答案 0 :(得分:6)

你需要:

  1. 安装xcode base build tools
  2. 安装可选的xcode命令行工具
  3. 安装homebrew
  4. 安装自制软件构建工具
    4.1 brew install crosstool-ng mpfr gmp grep
    4.2 brew tap homebrew / dupes
  5. 使用“disk utility”
  6. 创建区分大小写的卷
  7. 使用此卷来构建工具链本身 6.1生成一个基本配置(对我来说这是一个手臂皮质a8)
        6.1.1 ct-ng arm-cortex_a8-linux-gnueabi
    6.2使用menuconfig( ct-ng menuconfig )调整配置
    6.2.1。禁用fortran和java( c编译器
    6.2.2。关闭静态链接( c编译器
    6.2.3。更改您在上面创建的卷上的路径(路径和misc选项
    6.2.4。删除dmalloc(调试工具
    6.3调用构建:
    6.3.1 ulimit -n 1024
    6.3.2 ct-ng build
  8. 非常感谢crosstools-ng列表。

答案 1 :(得分:2)

为了构建与构建主机不同的体系结构的二进制文件,您需要的不仅仅是交叉编译器 - 您需要一个完整的工具链,这可能是您可能发现的真正的痛苦。 / p>

有两种方法:

  • 在虚拟机中使用正确的Linux发行版,例如VirtualBox。如果您只想在MacOSX / x86_64主机上为Linux / i386构建二进制文件,那么 - 在我看来 - 这是最简单,最安全,最干净的解决方案。当然,它不是交叉编译器,但它有效,并且它具有额外的优势,您可以实际测试可执行文件。

  • 使用诸如crosstool-NG(原始crosstool的后代)之类的脚本来自动构建工具链 - 绝对比自己构建它更容易,尽管您可能需要稍微妥协较旧的编译器版本。