-->

错误:“文件是专为存档这不是架构被链接(armv7s)”(Error: “File was buil

2019-07-19 18:43发布

我建立我自己的静态C ++库,它是建立与设置:

  • 体系结构:ARMv7的,armv7s
  • 建立有效的架构,只有:无
  • 支持平台:iOS版
  • 有效的体系结构:ARMv7的,armv7s

图书馆项目的基础很好,我得到了某文件(我已清理build文件夹,再建项目,以确保我的设置是有效的)。

我已经加入了库(某文件)到我的iOS项目,但即使我已设置在iOS项目完全相同的设置该项目将不会编译:

  • 体系结构:armv7s,ARMv7的
  • 建立有效的架构,只有:是的
  • 支持平台:iOS版
  • 有效的体系结构:ARMv7的,armv7s

我不断收到此错误:

LD:警告:忽略文件 /Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a, 文件归档建这不是架构被链接(armv7s) :/Users/hidden/Library/Developer/Xcode/DerivedData/HelloWorldCppLib-fomvvtklwijvqicyhahxleiscein/Build/Products/Debug-iphoneos/libHelloWorldCppLib.a

我在想什么? 它告诉我,某文件的armv7s没有建成,但是这正是我建库与设置。

Answer 1:

当你建立一个库必须编译它既可用于模拟器和设备,然后两个输出(.a文件)合并成1个库,然后将其链接到您的iOS项目。



Answer 2:

我遇到了类似的问题我自己。 @graver的解决方案肯定是有效的。

问题是,该库正在建设的armv7而不是armv7s 。 您可以通过使用验证这个自己lipo <path/to/lib.a> -info

设置Build Active Architectures Only选项No修复该问题。

希望这可以帮助。



Answer 3:

一个额外的注意事项是:

    Build Active Architectures Only  set to no

是的lib项目。



Answer 4:

我曾与cocapods时,得到了确切的同样的错误:对我来说,解决办法是有两个型动物建立有效架构目标和豆荚。

应用目标:

Build Active Architectures Only  **Yes**

荚目标

Build Active Architectures Only  **No**


Answer 5:

不幸的是所有这些条建议不要为我工作 - 的Xcode 7.3.1(7D1014),iPhone 5,但只要我删除了所有的Xcode的临时文件(+重新启动的Xcode)和重建再次成为它的工作。



Answer 6:

它没有发生在我身上通过的CocoaPods使用Facebook的SDK(V 4.24.0)。

或清洁制设置Build Active Architectures OnlyNO上荚没解决问题。

解决的办法是清空build目录(见构建设置/建造地点/ CONFIGURATION_BUILD_DIR)或$(CONFIGURATION_BUILD_DIR)的Xcode变量。



Answer 7:

我使用的5.1.1的XCode和跑进了上述问题。 解决这个问题的一种更便捷的方式似乎只是(通过菜单生成/归档)创建归档和分发。 分布式LIB文件将包含所有定义的架构。



文章来源: Error: “File was built for archive which is not the architecture being linked (armv7s)”