2011-03-15 157 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