文件是通用(三片),但不包含(N)的ARMv7-S切片iOS上的静态库的错误,反正绕过?(File

2019-06-18 04:06发布

我升级的Xcode版本,并使用外部静态库的时候,我得到这个消息:

LD:文件是通用的(3片),但不包含(n)的armv7s切片:用于建筑armv7s /文件/位置铛:错误:连接器命令,退出代码1失败(使用-v看调用)

有没有办法绕过这一点,并支持添加到库中如果库的开发者并没有更新他们的图书馆吗?

Answer 1:

如果你想删除的支持,任何架构,例如, 用于ARMv7-S在你的情况下,使用菜单项目 - > 构建设置 - >从“有效架构”删除架构。

直到库已更新,您可以使用此作为临时解决方案。 你必须从你的主要项目不是从库中删除的架构。

或者,你可以为你的调试配置的“建立有源体系仅”是设置标志。 使释放配置的“建立有源体系仅”没有,只是让你释放你应该升级你使用任何第三方库之前收到提醒。



Answer 2:

我简单地切换目标的构建设置“构建有源体系仅”为“是”,它现在是OK!



Answer 3:

尝试从项目的“合法建筑”删除armv7s从这个问题发布的iOS 5.1手机



Answer 4:

我刚刚发布了一个修复这里也将适用于这种情况下-基本上,你做你的外部库六角查找和替换,使之认为这是ARMv7s代码。 你应该能够使用lipo打破它分为3个静态库,复制/修改ARMv7的一个,然后用lipo重新组装一个新的图书馆为所有4级架构。



Answer 5:

对于iPhone 5(ARMv7s)乱舞支持正如我在昨天的文章中提到,乱舞开始一个版本iOS的SDK的工作,以支持新的iPhone 5的ARMv7s处理器上周三公布之后。

我很高兴地告诉大家,这项工作完成和SDK现已在网站上。



Answer 6:

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

再从“有效架构”删除armv7s。 如果标准已被选定然后删除,然后添加的ARMv7。



Answer 7:

如果发生这种情况的人。 我建立了我自己的图书馆与第三方代码来使用。 虽然我是建设能够为客户提供,我不小心把我的iPhone 4S插入,所以内置的Xcode我的图书馆只对插入的架构,而不是下面的项目设置。 删除任何插入的设备和重建库,链接它,你应该没事。

希望能帮助到你。



Answer 8:

就我而言,我是链接到第三方库,这是一个有点老(对于iOS 6的开发,上了XCode 5 / iOS的7)。 因此,我不得不更新的第三方库,做一个清理并生成,现在成功生成。



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