Plz help me i m porting game in android but i m geting error in eclipse "undefined reference to `GameLayer::~GameLayer()'" in HelloWorld class which is inherited from GameLayer
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/obj/local/armeabi/objs-debug/game_logic/HelloWorldScene.o: In function `HelloWorld':
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to `GameLayer::GameLayer()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:27: undefined reference to `GameLayer::GameLayer()'
make: Leaving directory `/cygdrive/e/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/obj/local/armeabi/objs-debug/game_logic/HelloWorldScene.o: In function `HelloWorld::init()':
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:55: undefined reference to `GameLayer::init()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:61: undefined reference to `WorldByEditor::WorldByEditor()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:62: undefined reference to `WorldByEditor::init()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/obj/local/armeabi/objs-debug/game_logic/HelloWorldScene.o: In function `HelloWorld::addNewSpriteWithCoords(cocos2d::CCPoint, int)':
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/obj/local/armeabi/objs-debug/game_logic/HelloWorldScene.o: In function `HelloWorld::draw()':
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:157: undefined reference to `glDisable'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:158: undefined reference to `glDisableClientState'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:159: undefined reference to `glDisableClientState'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:163: undefined reference to `glEnable'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:164: undefined reference to `glEnableClientState'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:165: undefined reference to `glEnableClientState'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:169: undefined reference to `glEnable'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:170: undefined reference to `glColor4ub'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:171: undefined reference to `glLineWidth'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/obj/local/armeabi/objs-debug/game_logic/HelloWorldScene.o: In function `~HelloWorld':
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:481: undefined reference to `GameLayer::~GameLayer()'
E:/Acocos2d-x/cocos2d-1.0.1-x-0.11.0/MyBilliard/android/jni/../../Classes/HelloWorldScene.cpp:481: undefined reference to `GameLayer::~GameLayer()'
My header file HelloWorldScene.h
#pragma once
// When you import this file, you import all the cocos2d classes
#include "cocos2d.h"
#include "Layer/GameLayer/GameLayer.h"
//#include "MyContactListener.h"
#include "b2dContectList/ContectListener.h"//remove
#include "GLES-Render.h"
#include <Box2D/Box2D.h>
#include "Layer/Level1/Ball.h"
#include "Constants.h"
class ContectListener;//remove
using namespace cocos2d;
class HelloWorld : public GameLayer {
public:
WorldByEditor *billiardWorld;
HelloWorld();
virtual ~HelloWorld();
// returns a Scene that contains the HelloWorld as the only child
static CCScene* scene();
virtual void init();
};
in my HelloWorldScene.cpp
HelloWorld::HelloWorld()////////////////////////////////////////////////undefined reference to `GameLayer::~GameLayer()'
{
GameLayer LAYER=new GameLayer();
screenSize = CCDirector::sharedDirector()->getWinSize();
cocos2d::CCSprite *background= CCSprite::spriteWithFile("background.png");
background->setAnchorPoint(CCPoint(0,0));
background->setPosition(CCPoint(0,0));
addChild(background,-2);
}
CCScene* HelloWorld::scene()
{
//'scene' is an autorelease object
CCScene *scene = new CCScene();
// add layer as a child to scene
CCLayer* layer = new HelloWorld();
scene->addChild(layer,2);
layer->release();
return scene;
}
void HelloWorld::init()
{
//initialize superlayer
GameLayer::init();
//initialize some variable
setIsTouchEnabled(true);
setIsAccelerometerEnabled(true);
stricker=false;
//back ground
billiardWorld=new WorldByEditor();
billiardWorld->init();
addChild(billiardWorld,-2);
///set up stick
stick= CCSprite::spriteWithFile("Stick.png");
stick->setAnchorPoint(CCPoint(0,0.5f));
stick->setPosition(CCPoint(80, 0));
addChild(stick,1);
//setup main game
setupBallSprites();
{
unschedule(schedule_selector(HelloWorld::tick) );
//ball->destroyBodyInWorld(billiardWorld->_world);
delete billiardWorld->_world;
billiardWorld->_world = NULL;
}
//////////////////////////////////////////////////////////////////////////////////////
/////////////////////
setupPhysicsBodies();
m_bodyIndex = 0;
m_angle = 0.0f;
schedule(schedule_selector(HelloWorld::tick) );
}
HelloWorld::~HelloWorld()//////////////////////////////////////////////////////undefined reference to `GameLayer::~GameLayer()'