【发布时间】:2011-06-22 09:42:48
【问题描述】:
升级到 xcode 4 后,我的应用程序所依赖的所有库项目都出现错误。
[BEROR]没有要编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=i386,VALID_ARCHS=armv6)。
【问题讨论】:
-
今天这个问题已经合法化了。 :-)
升级到 xcode 4 后,我的应用程序所依赖的所有库项目都出现错误。
[BEROR]没有要编译的架构(ONLY_ACTIVE_ARCH=YES,active arch=i386,VALID_ARCHS=armv6)。
【问题讨论】:
在升级 xcode 时似乎出现了与 xcode6 类似的问题,尝试了所有建议但没有成功对我有用的是在新的 xcode 中创建了一个简单的新应用程序(选项卡式)并确保我的应用程序具有相同的架构设置
【讨论】:
当我尝试在最新的 Xcode 中转换为自动引用计数时遇到此错误。我通过将“x86_64”添加到有效架构列表来修复它,这使我可以继续构建。
以防万一其他人遇到同样的问题,我想我会加入对我有用的东西!
【讨论】:
打开一个新项目并在 Xcode 4 中编译,然后将构建设置与转换后的项目进行比较。我就是这样找到的。
【讨论】:
如果此错误与 Phonegap 一起出现,解决方法是:
在构建设置中将“i386”添加到“有效架构”:用于您的项目和库 (PhoneGapLib.xcodeProj)。在项目和目标这两种情况下。
【讨论】:
见https://devforums.apple.com/message/376732#376732
“没有要编译的架构”表示“有效架构”字段为空。将其更新为
$(ARCHS_STANDARD_32_BIT),您将看到通常的 armv6 armv7。在将“Base SDK”更新为“Latest SDK”后,XCode 4 GM 中有时会发生这种情况。
【讨论】:
很奇怪。我遇到了同样的错误,调试和发布“有效架构”都设置为 armv6 和 armv7。 (相同的代码在 Xcode 3.2 中编译得很好。)我最终删除了这两个设置,然后明确地将它们设置为 $(ARCHS_STANDARD_32_BIT) ...这反过来又转换为 armv6 和 armv7 ...现在编译得很好。不需要 i386。嗯……
【讨论】:
打开project.pbxproj(显示xcodeproj文件的包内容),删除所有带有VALID_ARCHS = "...";的行,然后重启Xcode。
【讨论】:
看起来您所要做的就是将 i386 添加到构建设置中的有效架构中。我正在为模拟器编译,这就是它抱怨的原因。
这看起来很奇怪,因为该项目在升级之前运行良好。在我看来,您必须为升级的任何项目执行此操作。至少现在可以。
【讨论】: