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

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


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


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


呼唤远方
浏览 487回答 3
3回答

慕后森

如果要删除对任何体系结构的支持,例如,在您的情况下使用ARMv7-s,请使用菜单项目 - > 构建设置 - >从“有效体系结构”中删除体系结构。在库更新之前,您可以将其用作临时解决方案。您必须从主项目中删除体系结构,而不是从库中删除。或者,您可以将调试配置的“仅构建活动体系结构”的标志设置为“是”。将发布配置的“仅构建活动体系结构”保留为“否”,这样您就可以在发布之前获得提醒,您应该升级您正在使用的任何第三方库。

慕桂英546537

我刚刚发布了一个修复这里也将适用于这种情况下-基本上,你做你的外部库六角查找和替换,使之认为这是ARMv7s代码。您应该可以使用lipo它将其分解为3个静态库,复制/修改ARMv7,然后lipo再次使用为所有4个体系结构组装新库。
打开App,查看更多内容
随时随地看视频慕课网APP