2012-08-28 44 views
2

我的应用程序在运行iOS 5.0的iPhone模拟器上编译得很好,但是它在运行iOS 4.2.1的较旧的物理iPod touch上失败。未定义的符号架构armv6

,我发现了以下错误:

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不在编译源代码中,但将其拖到编译源文件中并没有改变错误信息。 (有没有TestFlight.m;我有libTestFlight.a“链接二进制与图书馆”

同样,删除和重新输入AppDelegate.m #import "TestFlight.h"没有任何改变

还有什么可能会造成这个编译。 ?我的iPod上的错误

+0

可能重复http://stackoverflow.com/questions/5403575/undefined-symbols-for-architecture-armv6-updating-to-ios -4-3) –

回答

1

首先,.h文件不是源文件,所以从“编译来源”再次将其删除

关于错误 - 你可能正在使用一个版本的SDK TestFlight那不支持armv6 - 他们在最近的版本中重新启用了这个体系结构。更新到最新版本的SDK,看看是否有帮助。

0

点击你的项目,选择

Target

,然后转到

Build Phases

Compile Sources

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

[对架构的ARMv6未定义的符号,更新至iOS 4.3](的