升级到xcode 4错误没有体系结构编译为

问题描述:

升级到xcode 4后,我的应用程序依赖于的所有库项目都出现错误。升级到xcode 4错误没有体系结构编译为

[BEROR]没有体系结构可以编译(ONLY_ACTIVE_ARCH = YES,active arch = i386,VALID_ARCHS = armv6)。

+8

到今天为止,问题是合法化的。 :-) – 2011-03-10 01:21:54

看起来你所要做的就是将i386添加到构建设置中的有效架构。我正在编译模拟器,这就是它抱怨的原因。

这看起来很奇怪,因为项目在升级前工作得很好。在我看来,您必须为您升级的任何项目执行此操作。至少现在会起作用。

+8

构建设置,体系结构部分,有效体系结构选项,点击灰色箭头展开,在Debug右侧双击,在“armv6 armv7”之后添加“i386”。谢谢詹姆斯! – rjobidon 2011-03-14 00:05:17

+1

谢谢@rjobidon让这个如此清晰!这是唯一对我有用的答案。 – nacho4d 2011-03-23 19:39:25

+0

这是完全正确的。我认为问题的根源在于删除了Xcode 3中单独的“Device/Simulator”下拉选项,如果必要的话,它显然会覆盖您的有效体系结构设置。 Xcode 4的设置比较麻烦,但对我来说更有意义。 – Luke 2011-05-25 19:58:41

https://devforums.apple.com/message/376732#376732

“没有架构来编译”是指“有效架构”字段为空。更新到$(ARCHS_STANDARD_32_BIT),你会看到通常的armv6 armv7。在将“基础SDK”更新为“最新SDK”后,有时在XCode 4 GM中会发生这种情况。

打开project.pbxproj(显示xcodeproj文件的包内容),删除所有包含VALID_ARCHS = "...";的行,然后重新启动Xcode。

很奇怪。我遇到了同样的错误,Debug和Release“Valid Architectures”都被设置为armv6和armv7。 (相同的代码在Xcode 3.2中编译得很好。)我最终删除了这两个设置,然后明确地将它们设置为$(ARCHS_STANDARD_32_BIT)......这又转化为armv6和armv7 ......现在它编译得很好。没有i386需要。嗯......

如果此错误结合occures与PhoneGap的解决办法是:

在构建设置添加“386”到“有效架构”:为您的项目和图书馆(PhoneGapLib.xcodeProj) 。在这两个项目和目标的情况下。

打开一个新项目并在Xcode 4中编译,然后将构建设置与转换后的项目进行比较。这就是我发现它的原因。

我在尝试转换为最新Xcode中的自动引用计数时出现此错误。我通过将“x86_64”添加到有效的体系结构列表来修复它,这允许我继续构建。

为了防止其他人遇到同样的问题,我想我会抛出对我有用的东西!

在升级xcode时,似乎弹出类似的问题,尝试所有建议没有成功的东西是什么为我工作是在新的xcode创建一个简单的新应用程序(选项卡),并确保我的应用程序有相同的架构设置