我升级了Xcode版本,并在使用外部静态库时收到以下消息:
ld:文件是通用文件(3个切片),但不包含armv7s切片:体系结构armv7s clang的/ file / location:错误:链接器命令失败,退出代码为1(使用-v查看调用)
如果库的开发人员尚未更新其库,是否有任何方法可以绕过此过程并向库添加支持?
我升级了Xcode版本,并在使用外部静态库时收到以下消息:
ld:文件是通用文件(3个切片),但不包含armv7s切片:体系结构armv7s clang的/ file / location:错误:链接器命令失败,退出代码为1(使用-v查看调用)
如果库的开发人员尚未更新其库,是否有任何方法可以绕过此过程并向库添加支持?
Answers:
如果要删除对任何体系结构的支持,例如您的情况下的ARMv7-s,请使用菜单项目 -> 构建设置 ->从“有效体系结构”中删除该体系结构。
您可以将其用作临时解决方案,直到库已更新。您必须从主项目而不是从库中删除体系结构。
或者,可以将调试配置的“仅构建活动体系结构”的标志设置为“是”。将发布配置的“仅构建活动体系结构”保留为“否”,只是为了在发布之前提示您应该升级正在使用的任何第三方库。
No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv7).
我都只能通过添加i386
到“有效体系结构”列表中的链接器来解决。
我已经在目标的构建设置中将“仅构建活动体系结构”切换为“是”,现在可以了!
万一这发生在某人身上。我建立了自己的库以与第三方代码一起使用。在构建要交付的版本时,我不小心将iPhone 4S插入了电源,因此Xcode仅为插入的体系结构构建了我的库,而没有遵循项目设置。删除所有插入的设备并重建库,将其链接,就可以了。
希望能帮助到你。