仅在设备上出现链接器错误

时间:2012-09-29 13:22:22

标签: objective-c ios xcode linker-errors dropbox

我在编译设备时遇到了以下错误

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文件都已链接,一切正常,为什么它只在设备上执行此操作以及编译器想要阻止它抱怨什么?

1 个答案:

答案 0 :(得分:5)

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

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

所以你有以下选择:

  • 下载并安装最新的DropboxSDK框架。根据{{​​3}},已添加iPhone 5支持。
  • 仅为“armv7”编译您的应用。这是在目标的“构建设置”的“体系结构”中配置的。

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