简单的Xcode问题,求解。。

一直用的window,最近开始接触Mac。

现在的问题是,Mac下编译代码,会提示未定义符号的错误。而iOS下就没问题。

如:

class smallStone:public Sprite
{
public:
static smallStone * createStone(char * frameName);
};

smallStone* smallStone::createStone(char * frameName)
{
smallStone *sprite = new smallStone();
return sprite;
}

然后再hello world::init 里这样用:
smallStone * stone = smallStone::createStone(“001_a.png”);
就会报错

Undefined symbols for architecture x86_64:
“smallStone::createStone(char*)”, referenced from:
HelloWorld::init() in HelloWorldScene.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Xcode新手,还请勿喷。

clean一下,mac也是正常的。

版主你好clean后还是一样啊,把函数实现从cpp移到.h后,就不报错了。是我哪个地方没配置好吗?

你的文件只加入了Mac的target,没有加入iOS的target。

可以先删掉,再加一次。

版主大神,我想再请教一个问题:
http://www.cocoachina.com/bbs/read.php?tid=290927
谢谢