iPhone编译器失败:无可编译架构

23

我正在尝试在我的iPhone应用程序中实现Cocoa绘图框架(Alpha Release 0.1)

我想首先尝试运行他们提供的示例。我尝试打开和编译位于/Source/examples/CPTestApp-iPhone/的项目。

它说我的基础SDK一开始就缺失了,所以我编辑了项目设置和活动目标,使用我以前为样本完成的iOS4 SDK。我不确定该怎么办。我正在运行最新的Unibody Macbooks之一,配备10.6.4。

以下是完整错误:

// - start - //

Check dependencies

[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=i386, VALID_ARCHS=armv6 armv7).

// - end - //

您有何想法?

9个回答

42

我还前往了那些失败的目标的构建设置,并将“i386”添加到有效架构中。


34

尝试这个:

项目构建设置:

  • 体系结构:标准(armv6 armv7)
  • 基本 SDK:最新的 iOS 构建活动
  • 仅架构:选中有效
  • 体系结构:armv6 armv7

删除架构构建设置中的任何子设置。

目标构建设置:

  • 与项目设置相同。

框架 将 SystemConfiguration.framework 添加到您的项目中。- 不确定为什么会有任何影响。

清除所有目标。 为模拟器构建。

有关此问题的详细说明,请参阅我们的博客:http://longweekendmobile.com/2010/06/15/fixing-the-missing-required-architecture-arm-in-file-when-developing-for-ipad/


谢谢,只是为了明确,在架构方面:请确保没有armv7s。 - Mazen Kasser

19

将 i386 添加到“有效架构”列表中对我有效!


2
i386是iPhone模拟器的架构。 - Dat Nguyen
这很奇怪,但对我也起作用了。 - zirinisp

5
对我来说,问题出在必须将i386添加到VALID_ARCHS列表中。虽然很奇怪,但这解决了模拟器构建的问题。 请参阅此帖子。

4
您选择了激活架构“active arch=i386 (your Mac)”,但项目编译为“VALID_ARCHS=armv6 armv7 (iPhone Device)”,请在项目设置中设置正确的架构,以便按照应该的方式构建iPhone。

1
架构plist条目只列出了i386,它不像基本SDK条目那样是一个下拉菜单,所以我不确定该怎么做。 - Josh

2

这个项目似乎早于iOS 4,因此您需要打开Core Plot库本身的.xcodeproj文件。它可能还有一个损坏的引用指向旧的iOS基础SDK,并且可能需要更新架构。


我正在打开.xcodeproj文件。我甚至还没有尝试在我的应用程序中让它工作,我仍然在尝试运行他们的示例。由于它显示“BASE SDK MISSING”,所以我已经更改了SDK。我尝试了3.2和4.0,但两者都仍然出现错误。 - Josh

2

这种情况经常出现在迁移至SDK 3.2/4.0的旧项目中。您必须打开目标设置并将所有内容更改为SDK 4.0或3.2。如果您仍希望目标操作系统为3.0,也可以保留该设置。如果仍然显示“缺少SDK”,则可能是您忘记将其中一个设置更改为4.0或3.2。


0

armv6 armv7,对我来说在有效的架构中可行。


0

如果您尝试了所有方法都"没有成功"

  • 尝试在您的设备上运行项目,如果在设备上可以正常工作,则模拟器也应该可以。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接