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

Dan*_*iel 6 linux macos gcc cross-compiling

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

它接缝好像没有人可以帮我解决这个问题:让GMP与GCC 4.5.2一起工作

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

jol*_*yon 6

你需要:

  1. 安装xcode基础构建工具
  2. 安装可选的xcode命令行工具
  3. 安装自制软件
  4. 安装自制软件构建工具
    4.1 brew install crosstool-ng mpfr gmp grep
    4.2 brew tap homebrew/dupes
  5. 使用"磁盘实用程序"创建区分大小写的卷
  6. 使用这个卷来构建工具链本身
    6.1生成一个基本配置(对我来说这是一个arm cortex 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.remove dmalloc(debug facilities)
    6.3调用build:
    6.3.1 ulimit -n 1024
    6.3.2 ct-ng build

非常感谢crosstools-ng列表.


thk*_*ala 5

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

几种方法:

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

  • 使用这样的脚本crosstool-NG(原始 的后代crosstool)来自动构建工具链 - 绝对比您自己构建更容易,尽管您可能必须妥协于稍旧的编译器版本。