我升级了Xcode版本,当使用外部静态库时,我收到以下消息:
ld:文件是通用的(3 个切片),但不包含 a(n) armv7s 切片:/file/location for architecture armv7s clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
如果库的开发人员还没有更新他们的库,有没有办法绕过这个并添加对库的支持?
我升级了Xcode版本,当使用外部静态库时,我收到以下消息:
ld:文件是通用的(3 个切片),但不包含 a(n) armv7s 切片:/file/location for architecture armv7s clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
如果库的开发人员还没有更新他们的库,有没有办法绕过这个并添加对库的支持?
如果您想删除对任何架构的支持,例如,在您的情况下为ARMv7-s,请使用菜单项目->构建设置-> 从“有效架构”中删除架构。
在库更新之前,您可以将其用作临时解决方案。您必须从主项目中删除架构,而不是从库中。
或者,您可以将调试配置的“仅构建活动架构”的标志设置为是。将发布配置的“仅构建活动架构”保留为否,这样您会在发布之前收到提醒,您应该升级您正在使用的任何第三方库。
我只是在目标的构建设置中将“仅构建活动架构”切换为“是”,现在可以了!
尝试从项目的“有效架构”中删除 armv7s 以从 iOS 5.1 手机的此问题中发布
我刚刚在此处发布了一个修复程序,该修复程序也适用于这种情况 - 基本上,您在外部库中执行十六进制查找和替换,使其认为它是 ARMv7s 代码。您应该能够使用lipo
将其分解为 3 个静态库,复制/修改 ARMv7 的一个,然后lipo
再次使用为所有 4 个架构组装一个新库。
Flurry 支持 iPhone 5 (ARMv7s) 正如我在昨天的帖子中提到的,Flurry 在周三发布消息后立即开始开发 iOS SDK 版本以支持新 iPhone 5 中的 ARMv7s 处理器。
我很高兴地告诉您,工作已经完成,并且 SDK 现在可以在网站上使用。
use menu Project -> Build Settings ->
then remove armv7s from the"valid architectures". If standard has been chosen then delete that and then add armv7.
万一这发生在某人身上。我建立了自己的库以与第三方代码一起使用。当我构建它以交付时,我不小心将我的 iPhone 4S 插入了电源,因此 Xcode 仅为插入的架构构建了我的库,而不是遵循项目设置。删除所有插入的设备并重建库,链接它,你应该没事。
希望能帮助到你。
就我而言,我正在链接到一个有点旧的第三方库(为 iOS 6 开发,在 XCode 5 / iOS 7 上)。因此,我不得不更新第三方库,进行清理和构建,现在构建成功。