我有一個名爲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