我有一个名为PrimeNumber的类,我最近编写了这个类,它在基础工具和Mac应用程序中工作得非常好。但是,尝试在iPhone应用程序中使用它失败。我加入的.m和.h文件到我的项目,进口这样.h文件到我的ViewController.h:添加类时出现错误消息
#import "PrimeNumber.h"
试图用我的PrimeNumber类中声明的方法和运行我的应用程序后, Xcode向我展示了两个错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_PrimeNumber", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
PrimeNumber.h和PrimeNumber.m文件在项目导航器中不是红色。产品>清洁也不起作用。另外,因为我的类没有在框架中声明,所以我认为这不是问题。
谁能告诉我我做错了什么?谢谢!
编辑:将类名更改为PrimeNumbers,然后创建一个名为PrimeNumber的新Objective-C类,并将PrimeNumbers类的.h和.m文件的完整内容复制粘贴到.h和.m中PrimeNumber类的文件为我工作。奇怪的,但它的工作。 :)
PrimeNumber.h'是否也导入'ViewController.h'? – fscheidl 2012-02-21 16:53:35
不,它没有。 – 2012-02-21 17:43:10
重命名和复制和粘贴工作,因为当你通过Xcode添加一个新类时,它会自动将它添加到编译源构建阶段。当你将源文件拖放到你的项目中时,不会这样做。 – 2012-02-21 17:47:51