Hi,
I am trying to create Singleton Object but I am getting an error. I don’t know whats the problem…
.h file
#ifndef __MY_CC_SPRITE__
#define __MY_CC_SPRITE__
class MyCCSprite
{
// Private
private:
// Constructor
MyCCSprite();
// Initializer
void Init();
// Variables
static MyCCSprite* MyCCSpriteObject;
// Public
public:
// Virtual Functions
static MyCCSprite* getInstance();
};
#endif // __MY_CC_SPRITE__
.cpp file
#include "MyCCSprite.h"
#include "cocos2d.h"
using namespace std;
// Constructor
MyCCSprite::MyCCSprite(){
printf("--- CONSTRUCTOR [MyCCSprite] ---\n");
}
MyCCSprite* MyCCSprite::getInstance() {
printf("--- GETINSTANCE [MyCCSprite] ---\n");
if(MyCCSpriteObject == NULL) MyCCSpriteObject = new MyCCSprite();
return MyCCSpriteObject;
}
Following ERROR Received when declared its instance in HelloWorld.cpp
// MyCCSprite
MyCCSprite *mySprite1 = MyCCSprite::getInstance();
Ld build/Debug-iphonesimulator/TapCards.app/TapCards normal i386
cd /Users/pilabsmacmini2/Projects/COCOS2DX/TapCards
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -L/Users/pilabsmacmini2/Projects/COCOS2DX/TapCards/build/Debug-iphonesimulator -F/Users/pilabsmacmini2/Projects/COCOS2DX/TapCards/build/Debug-iphonesimulator -filelist /Users/pilabsmacmini2/Projects/COCOS2DX/TapCards/build/TapCards.build/Debug-iphonesimulator/TapCards.build/Objects-normal/i386/TapCards.LinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework CoreGraphics -framework Foundation -framework OpenGLES -framework QuartzCore -framework UIKit -framework AudioToolbox -framework OpenAL -lz -framework AVFoundation "-lcocos2d libraries" -lxml2 -o /Users/pilabsmacmini2/Projects/COCOS2DX/TapCards/build/Debug-iphonesimulator/TapCards.app/TapCards
Undefined symbols:
"MyCCSprite::MyCCSpriteObject", referenced from:
__ZN10MyCCSprite16MyCCSpriteObjectE$non_lazy_ptr in MyCCSprite.o
(maybe you meant: __ZN10MyCCSprite16MyCCSpriteObjectE$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status