2010-08-09 52 views
1

包括静态库的时候,我发现了以下错误:在 文件如何让Xcode 3.2.3构建一个特定的架构?

这个工作30秒以前

缺少必需i386硬件架构下,只有当失败我升级到3.2.3 Xcode中。我用“file”命令来检查 - 是的,XCode正在构建完全错误的架构(armv6 + armv7而不是i386)。

这似乎是最新的Xcode中的一个主要错误,在这个错误中,Apple已经重写了编译/编译/链接设置。发布说明中有一个注释非常模糊地说,他们已经“改变它”,因为它曾经是“混乱”。这没有帮助。

的图书馆很清楚的生成设置说:

“有效架构:I386”

这里有没有困惑 - Xcode是建设比目标说,它应该以外的东西。

现在的问题是:你怎么解开这个?你如何强迫Xcode做它应该做的?我从头开始重新安装Xcode,清理所有内容,并手动检查构建文件。这没有什么错(而且,当然,它在Xcode 3.2.2完美工作)

回答

3

相当多的研究之后,我相信答案是:

“这是现在不可能的 - 苹果有故意硬编码的XCode忽略构建设置”

不过,我想出了一个脚本它会自动构建项目的所有平台(您需要使用静态库 - 现在没有多少选择,因为Apple已禁用了目标),并且脚本可以轻松修改为执行所有目标,而不是所有平台:

Build fat static library (device + simulator) using Xcode and SDK 4+

+0

你提交了一个苹果的错误? – 2010-09-06 19:29:23

+0

鉴于他们故意改变*(c.f.发布说明给出了一个挥手模糊的理由),我怀疑他们会关心一个错误报告:(。 – Adam 2010-09-09 14:25:20

1

右键单击您的目标应用程序下目标并确保该基地SDK被设置到iOS。

+0

我假设你的意思是“iPhone设备4.0”或“iPhone模拟器4.0”,因为你所描述的不存在,据我所知 - 如果是这样,是的,它已经是。 – Adam 2010-08-09 19:59:53

相关问题