1

为我的设备编译时出现以下错误

File is universal (3 slices) but does not contain a(n) armv7s slice: /Users/xxx/Desktop/xxxxxxx/DropboxSDK.framework/DropboxSDK for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查了所有 .m 文件是否已链接并且一切正常,为什么它只在设备上执行此操作,编译器想要阻止它抱怨什么?

4

1 回答 1

5

“armv7s”是 iPhone 5 中新的 ARM 处理器支持的指令集。Xcode 4.5 默认为 armv7 和 armv7s 生成二进制文件。

链接器错误意味着您的应用程序是针对 armv7 和 armv7s(以及针对模拟器的 i386)编译的,但链接到不包含 armv7s 代码的 DropboxSDK 框架。

因此,您有以下选择:

  • 下载并安装最新的 DropboxSDK 框架。根据CHANGELOG,增加了对 iPhone 5 的支持。
  • 仅为“armv7”编译您的应用程序。这是在目标的“构建设置”的“架构”中配置的。

您说“没有引用 Dropbox 的库”。但是必须有对该库的引用,否则链接器不会抱怨。您可以在目标设置的“构建阶段”选项卡的“将二进制文件与库链接”部分中进行检查。

于 2012-09-29T14:00:14.113 回答