5

简短的问题:您如何获取两个应用程序,一个用于英特尔,另一个用于 ppc,并将它们打包成一个通用二进制文件?

我目前对这个问题的想法:

我已经阅读了有关通用二进制文件的苹果开发人员文档,但无法找到答案,因此可能不可能。

由于我不会进入这里的原因,我的程序有两个应用程序(相对于使用 xtools 来普遍编译二进制文件一次),一个用于 Intel Mac,另一个用于在 PPC 上运行的 Mac >=10.3.9。共享资源不是问题。

我可以将 MyProg_intel.app 和 MyProg_ppc.app 放入一个 zip 并以这种方式分发;但这可能会导致我将向其分发程序的许多人感到困惑。

4

4 回答 4

6

请参阅lipo工具。它将让您将 PPC 和 i386 二进制文件拼接在一起。

此外,有时可以通过在 Xcode 中使用条件构建设置来避免不同架构的单独目标。例如,如果您需要针对每个架构链接不同的二进制库,这将非常有用。

于 2009-08-19T14:18:49.973 回答
4

查看 lipo 的手册页。我相信您可以使用 -create 来获取多个输入文件并创建具有多个架构的单个输出文件。

于 2009-08-19T14:16:20.833 回答
1

Apple 的开发者网站上有一篇关于构建开源通用二进制文件的文章,解释了如何使用 Xcode 使用构建脚本“打包”通用二进制文件。这可能是你通往理智的最佳途径。您可以使用lipo,但从长远来看,如果您要更新和维护您的应用程序,拥有一个为您带来魔力的 Xcode 项目将占用您更少的时间。

于 2009-08-19T14:18:56.587 回答
0

为了创建通用二进制文件,您必须使用 Xcode 并选择 Intel 和 PPC 目标架构。据我所知,您不能事后将两个不同的二进制文件放入一个 .app 中。

于 2009-08-19T14:15:48.730 回答