繁体   English   中英

文件是通用的(三个切片),但它不包含 iOS 上静态库的 (n) ARMv7-s 切片错误,无论如何要绕过?

File is universal (three slices), but it does not contain a(n) ARMv7-s slice error for static libraries on iOS, anyway to bypass?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我升级了Xcode版本,当使用外部静态库时,我收到以下消息:

ld:文件是通用的(3 个切片)但不包含 (n) armv7s 切片:/file/location for architecture armv7s clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

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

8 个回复

如果您想删除对任何架构的支持,例如您的情况下的ARMv7-s ,请使用菜单项目->构建设置-> 从“有效架构”中删除该架构。

在库更新之前,您可以将其用作临时解决方案。 您必须从主项目中删除架构,而不是从库中删除。

或者,您可以将调试配置的“仅构建活动架构”的标志设置为是。 将发布配置的“仅构建活动架构”保留为否,这样您会在发布之前收到提醒,提示您应该升级您正在使用的任何第三方库。

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

尝试从项目的“有效架构”中删除 armv7s 以针对 iOS 5.1 手机发布此问题

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

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

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

使用菜单 Project -> Build Settings ->

然后从“有效架构”中删除 armv7s。 如果选择了标准,则删除该标准,然后添加 armv7。

万一这发生在某人身上。 我构建了自己的库以与第三方代码一起使用。 在我构建它以交付时,我不小心让我的 iPhone 4S 插入了电源,因此 Xcode 仅为插入的架构构建了我的库,而不是遵循项目设置。 删除所有插入的设备并重建库,链接它,你应该没问题。

希望能帮助到你。

就我而言,我链接到了一个有点旧的第三方库(为 iOS 6 开发,在 XCode 5 / iOS 7 上)。 因此,我不得不更新第三方库,进行清理和构建,现在构建成功。

7 文件是通用文件(5个切片),但不包含一个(n)i386切片

直到几个小时前,我的应用程序才能正常运行。 我只是对类库进行了一些更改,没有任何可能导致此问题的发生(AFAIK) 这是我得到的构建错误...为什么要寻找i386? 在此之前,我对于x86-64遇到了类似的错误。 我距离这方面的专家还很遥远,到目前为止,谷歌还没有帮助。 ld: ...

8 是否值得在iOS6上添加armv7s切片?

所以我知道armv7s针对iPhone 5进行了优化,添加它将使我的代码在该设备上运行得更快一些。 有谁知道差异是什么? 有没有基准等? 权衡是应用程序的大小。 我的估计应用程序大小从3.3MB增加到5MB,增加了armv7s,下载量增加了50%。 我在想,除非速度提升很有 ...

10 编译以获得armv7s切片

我使用以下命令在终端中编译库以获取armv7切片: 注意:我也更改了ldflags,sysroot来提供相关的路径,虽然我没有在这里说明这一点。 我已成功生成代码片段:i686,i386和armv7并将它们组合在一起,但我无法获得armv7s切片。 我对armv7s代码片使用 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM