架构armv6的未定义符号

时间:2012-08-28 03:20:05

标签: iphone ios armv6

我的应用程序在运行iOS 5.0的iPhone模拟器上编译得很好,但在运行iOS 4.2.1的旧物理iPod touch上失败。

我收到以下错误:

Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_TestFlight", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv6

我看过其他有关此事的问题: Undefined symbols for architecture armv6, Updating to iOS 4.3

但他们的解决方案不起作用。实际上,TestFlight.h不在编译源中,但将其拖动到Compile Sources并没有改变错误消息。 (没有TestFlight.m;我在“Link Binary with Libraries”中有libTestFlight.a

同样,在AppDelegate.m中删除和重新键入#import "TestFlight.h"并没有改变任何内容。

还有什么可能导致我的iPod出现编译错误?

2 个答案:

答案 0 :(得分:1)

首先,.h文件不是源文件,因此请再次从“编译源”中删除它。

关于错误 - 您可能正在使用不支持armv6的TestFlight SDK版本 - 他们在最新版本中重新启用了此架构。更新到最新版本的SDK,看看是否有帮助。

答案 1 :(得分:0)

单击您的项目,选择

  

目标

然后转到

  

构建阶段

  

编译来源

添加了AppDelegate.m,它可能没有连接,编译器无法找到该文件。 另请参阅link