在Mac OS X上构建跨工具链的最佳方法

| 我花了最后三周的时间研究Mac OS X下的交叉开发。我想获得两个单独的结果,但是我相信可以通过相同的途径来达到。 我想要 设置distcc以使用我最近在家中使用的iMac(OS X 10.6,64位本机)帮助我的旧Gentoo笔记本电脑,我也将其用于iOS开发,因此Xcode 4工具已经存在; 开发我的pet项目,它是x86,x86_64和arm的Elf内核(我将在这里停下来,因为它是OT)。 因此,在这些情况下我们都做了很多思考之后,我想到了要实现第一个目标,我需要建立一个i686-pc-linux-gnu工具链(或者是i686-unknown-linux) -gnu?)以及所有适当的版本(例如gcc-4.4),并使其可由distcc调用。这似乎是一项合理的任务,但是不幸的是,似乎有更清晰的工具和说明来为诸如sparc或mips之类的模糊拱门构建工具链,而没有一个关于如何以最佳方式使用x86的合理更新资源。因此,第一个问题是:是否有人成功地构建了这样的工具链,并且感觉像在分担痛苦? :) 第二个目标。我当前的工作台是用i686笔记本电脑上的Gentoo制成的(是的,与第一个目标相同),带有所有常规的开发资料,我使用QEMU对其进行了测试(它的gdb集成很棒)。我真正想做的是在旅途中继续使用笔记本电脑(我经常上下班),并在我在家时继续在iMac上进行工作和测试(git在这方面很棒)。因此,第二个问题是:是否有人做过这样的事情并想分享? 我非常感谢您的投入。说真的 编辑我了解MacPorts,crosstool和crosstool-ng。我尝试从MacPorts安装i386-elf-binutils 2.18,只是发现我的笔记本电脑中有2.20。我也无法用gcc44来生成i686-pc-linux-gnu elf对象,使用i386-elf-gcc并不是一种选择,因为我需要4.4,而打包的是4.3。     
已邀请:
        这不是一件容易的事,特别是因为您想针对许多不同平台进行交叉编译。 最常用的方法是使用所需的操作系统(例如VirtualBox,Parallels,VMWare Fusion)运行虚拟机,然后安装工作台工具以从中运行。这是非常常用的方法,因为它设置起来并不复杂,并且还简化了为目标系统编写代码,从目标系统编写代码和对其进行测试和调试的过程。 当然,如果您进行了足够的搜索,您会发现各种各样的技巧/窍门,可以在Mac OS X上设置工具链并为其他架构编译代码: 其中之一使用Buildroot,但这意味着对Mac OS X没有官方支持。 同样有趣的是,另一个提供了.dmg软件包,其中包含在MacOS X上为Linux进行编译所需的工具。     
        您已经提到了Gentoo,所以我认为您应该看看Gentoo Prefix。 Gentoo前缀使您可以在用户定义的目录(=前缀)中安装小型Gentoo系统。从那里开始,您可以启动一个外壳,使您可以使用portage(= Gentoo的软件包系统),该外壳应使您能够安装必要的工具。 我不知道今天OS X上Prefix的形状如何,但是大约一年前我就可以在朋友的MacBook上安装它。如果您有兴趣,我可以提供有关安装过程的更多详细信息,这可能会有些棘手。     

要回复问题请先登录注册