gpt4 book ai didi

xcode - 如何使用适用于 OSX 的 Xcode 3.2.2 构建通用二进制文件 (ppc/i386)?

转载 作者:行者123 更新时间:2023-12-01 11:59:21 25 4
gpt4 key购买 nike

我正在尝试为工作中的项目构建通用二进制文件,但我似乎无法正确设置 Xcode 来执行此操作。

我熟悉有关此的 Apple 文档,但显然我没有正确阅读它。

有问题的 Xcode 构建选项似乎是:

  • 架构
  • 基础SDK
  • C/C++ 编译器版本
  • Mac OS X 部署目标

在我的设置中,我有以下有效架构:i386 ppc ppc64 ppc7400 ppc970 x86_64。

如果我使用以下选项,我会得到一个带有 i386ppc970 的二进制文件:

  • 架构:i386 ppc
  • 基础 SDK:Mac OS X 10.5
  • C/C++ 编译器版本:GCC 4.0
  • Mac OS X 部署目标:Mac OS X 10.5

我有几个问题:

  1. 为什么是 ppc970 而不是 ppc7400(或简称 ppc)?
  2. ppc(ppc、ppc64、ppc7400、ppc970)之间有什么区别?
  3. 如何获取任何 ppc 的二进制文件?

显然,我需要一个带有 ppc7400 的二进制文件才能在我们用于测试的 Mac Mini 上工作。 Mini 有一个 G4 并运行 OSX 10.5.8。据我所知,带有 ppc7400 的二进制文件可以工作,但只有 ppc970 的二进制文件不行。

我尝试了上述构建选项的几种组合,包括将我的 Base SDK 更改为 10.4u。上面的配置是唯一一个甚至可以构建的配置。其他构建失败,通常是因为无法识别头文件或明确可用的#defines。例如,如果我将编译器更改为 gcc 4.2,我将在搜索 stdarg.h 时遇到错误,因为 #include_next 指令并且没有明确的正确 header 路径。如果我将我的 Base SDK 降为 4.0,#define FSIZE long long 不再被识别,尽管没有更改任何包含。

如果您能就此提供任何见解,我将不胜感激。


编辑更新

感谢您提供信息。我现在明白了旗帜。但是我得到了一个奇怪的结果。

现在这些是我的构建标志:

GCC_VERSION = 4.0MACOSX_DEPLOYMENT_TARGET = 10.4SDKROOT = macosx10.5GCC_MODEL_TUNING = G3

这会生成目标文件 (.o),它具有 arch 'ppc',如 lipo 所示。所有包含的库和框架都是“ppc”或“ppc7400”(同样如 lipo 所示)。但是,最终版本是“ppc970”。

我已经非常仔细地检查过这个以确保我得到了一切。谁能想到 ppc 架构差异的原因?

我什至创建了一个新项目 (Hello World) 并将其链接到第一个项目的所有库和框架。你好构建为“ppc”而不是“ppc970”。

这对我来说毫无意义。

最佳答案

ppc970 == G5。如果您需要支持远至 G4 的版本,那么只需为 ppc7400 构建。

不过,与其搞乱各个架构设置,不如选择 32-bit Universal(或 Standard (32/64-bit Universal),如果合适的话)从弹出菜单中,这应该会为您提供所需的内容。

关于xcode - 如何使用适用于 OSX 的 Xcode 3.2.2 构建通用二进制文件 (ppc/i386)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com