我在XCode中有2个目标,一个包含类记录的可执行文件,如
class Record
{
public:
const char * getFirstName() const;
void setFirsttName(const char * firstName);
const char * getCompany() const;
void setCompany(const char * company);
...
}
一个单元测试包,通过bundleLoader链接到可执行文件,包含类似
的测试...
Record record;
record.setFirsttName("aaa");
record.setCompany("bbb");
奇怪而烦人的是,我收到一个链接器错误,说它没有看到setCompany符号,但它看到了setFirsttName。完成清理和重建不会有所帮助。有人可以帮忙吗?
是DEAD_CODE_STRIPPING = YES。 Aaargh !!!
答案 0 :(得分:0)
您的setCompany
源文件中是否有Record
的定义?标题中的内容只是一个声明,您需要一个定义来链接使用该方法的程序。
答案 1 :(得分:0)
您是否忘记在源文件中定义setCompany
?或者你忘了用ClassName::
来限定它,所以它被视为一个类方法?