我升级了Xcode版本,当使用外部静态库时,我得到了这样的消息:

Ld: file是通用的(3片),但不包含(n) armv7s slice: /file/location for架构armv7s Clang:错误:连接器命令失败,退出码为1(使用-v查看调用)

如果库的开发人员还没有更新他们的库,有什么方法可以绕过这个库并添加对库的支持吗?


当前回答

使用菜单项目->构建设置->

然后从“有效架构”中删除armv7s。 如果选择了standard,那么删除它,然后添加armv7。

其他回答

我只是在目标的构建设置中将“仅构建活动架构”切换为“是”,现在就OK了!

Flurry支持iPhone 5 (ARMv7s) 正如我在昨天的文章中提到的,Flurry在周三发布新iPhone 5的消息后立即着手开发iOS SDK版本,以支持ARMv7s处理器。

我很高兴地告诉你,工作已经完成,SDK现在可以在网站上使用。

以防这种事发生在某人身上。我建立了自己的库,与第三方代码一起使用。当我构建它来交付时,我不小心把我的iPhone 4S插在了插头上,所以Xcode只为插在插头上的架构构建了我的库,而不是遵循项目设置。移除任何插入的设备,重建库,链接它,你应该是正确的。

希望能有所帮助。

尝试从项目的“有效架构”中删除armv7s,以解决iOS 5.1手机的这个问题

我刚刚在这里发布了一个修复,它也适用于这种情况——基本上,你在你的外部库中做了一个十六进制查找和替换,使它认为它是ARMv7s代码。您应该能够使用lipo将其分解为3个静态库,复制/修改ARMv7,然后再次使用lipo为所有4个架构组装一个新库。