如何恢复Xcode以接受armv6架构?

17

我有一个第三方的.a库,显然只编译了armv6兼容性版本,在新的Xcode(3.2.6和4)中都需要一个额外的armv7切片才能在设备上运行。链接错误为:文件是通用的,但不包含架构armv7的armv7切片。

有人知道如何使这两个新的Xcode操作像3.2.5一样,并接受现有的库,同时等待库供应商推出armv7版本吗?


2
如果您查看构建设置,架构设置可能是标准的,其中包括armv6和armv7。要将其更改为仅armv6,请将其更改为自定义并键入armv6。 - ughoavgfhw
1
以下是我在Xcode 4上的解决方法。打开构建设置,找到架构。你可能会看到一个默认值。当你编辑它时,会弹出一个对话框。删除默认设置,并在单独的行上添加以下内容:armv6 i386 x64。这样就可以了(请注意,在任何地方都不会得到任何armv7优化)。 - Owen Hartnett
我遇到了一个问题,我有armv7和armv6第三方库,XCode 4链接器拒绝将它们链接起来。除了在Xcode 3中编译之外,我没有找到任何解决方法。 - Ben Flynn
#Ben,看这个。我写了一个hack来欺骗链接器,让它认为armv6库是armv7的:http://stackoverflow.com/questions/10625253/how-to-combine-armv6-and-armv7-third-party-libraries-in-same-app - Owen Hartnett
2个回答

9

在我将“仅构建活动架构”设置为“否”之前,没有任何方法能够解决我的问题。


4
在项目设置中,选择“标准”架构(而不是“优化”)。这将允许您为活动架构选择“armv6”。这意味着一旦上架应用商店,它也应该适用于较老的设备(除非有其他弃用问题)。

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