iPhone编译器失败:没有可编译的架构

时间:2010-08-23 16:15:00

标签: iphone architecture

我正在尝试在我的iPhone应用中实现Cocoa plotting framework (Alpha Release 0.1)

我想我首先尝试运行他们提供的样本。我试图打开并编译/Source/examples/CPTestApp-iPhone/中的项目。

它说我的基础SDK没有立即丢失,因此我编辑了项目设置和Active Target以使用iOS4 SDK,我之前已经做过样本并且有工作。我不知道该怎么做。我正在使用最新的Unibody Macbook,有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 个答案:

答案 0 :(得分:42)

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

答案 1 :(得分:34)

试试这个:

项目构建设置:

  • 架构:标准(armv6 armv7)
  • 基础SDK:最新的iOS Build Active
  • 仅限架构:已检查有效
  • 架构:armv6 armv7

删除架构构建设置中的所有子设置。

目标构建设置:

  • 项目设置相同。

<强>框架 将SystemConfiguration.framework添加到项目中。 - 不确定为什么会产生任何影响。

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

对此的详细解释可以在我们的博客上找到:http://longweekendmobile.com/2010/06/15/fixing-the-missing-required-architecture-arm-in-file-when-developing-for-ipad/

答案 2 :(得分:19)

将i386添加到Valid Architectures列表中对我有用!

答案 3 :(得分:5)

对我而言,我必须将i386添加到VALID_ARCHS列表中。奇怪,但它解决了模拟器构建的问题。

See this post.

答案 4 :(得分:4)

您已选择“active arch = i386(您的Mac)”作为活动架构,但项目编译为“VALID_ARCHS = armv6 armv7(iPhone设备)”,尝试在项目设置中设置右拱,因此它是为应该是iPhone。

答案 5 :(得分:2)

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

答案 6 :(得分:2)

随着旧项目迁移到SDK 3.2 / 4.0,这种情况一直发生。您必须打开目标设置并将所有内容更改为SDK 4.0或3.2。如果需要,您仍然可以将目标操作系统设为3.0。如果它仍然显示“缺少SDK”,则忽略将其中一个设置更改为4.0或3.2。

答案 7 :(得分:0)

armv6 armv7,适用于我的有效架构。

答案 8 :(得分:0)

如果您使用&#34; NO SUCCESS&#34;

尝试了所有方法
  • 尝试在您的设备上运行项目,如果它在设备上运行,那么它也可以在模拟器上正常工作。