我最近写了一个名为PrimeNumber的类,它使用了Foundation Tool和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课程对我有用。很奇怪,但它奏效了。 :)
答案 0 :(得分:1)
您还必须将其添加到“编译源”构建阶段。
项目 - >目标 - > [你的目标] - >构建阶段 - >编译源(只需在其中拖动PrimeNumber.m
)