2011-03-15 159 views
1

我想爲我的課寫單元測試,但我無法解決鏈接問題。 在測試頭文件中,我做了#import「myclass.h」,但是當我在測試實現文件中分配myclass對象時,找不到符號。我已經添加了依賴tho。OCUnit鏈接問題問題

"OBJC_CLASS_$_PhotoArrayControl", referenced from: 
objc-class-ref-to-PhotoArrayControl in PhotoArrayControlUnitTest.o 
(maybe you meant: _OBJC_CLASS_$_PhotoArrayControlUnitTest) 
ld: symbol(s) not found 

有什麼想法嗎?

回答

2

這種錯誤是很難診斷,所以這是一個長鏡頭,但鏈接錯誤意味着,當你的編譯器在解析階段講述了特定的符號,在最後一步,它發現它不知道在哪兒。這可能意味着您的.m文件沒有與您的其他測試代碼一起編譯,這可能是因爲您的.m文件不是您測試目標的成員。

在Xcode中4,選擇你.m文件,並調出右側面板(通過單擊工具欄中的「查看」類別中最右邊的圖標)。應該有一個名爲「目標會員」的部分;確保您的測試包已被選中。在Xcode 3中,將測試捆綁爲活動目標,並確保項目資源管理器最右側列中的複選框已被選中。

+0

我想我通過清空緩存解決,但不這樣想。我正在使用Xcode3.x版本。 – 2011-03-15 22:43:43

+0

@ Ha-eun Chung您的.m文件是您測試目標的成員嗎? – zneak 2011-03-15 22:54:55

+0

我應該在測試目標的編譯源文件中包含.m文件嗎? – 2011-03-15 23:16:22