Can't compile linux version of the game

So my code don’t want to compile for linux but for android it does. I don’t know what is going on. Im getting linker error undefined reference to function
Everything was compiling nice until I added my class.

Im working on Ubuntu 15.04
g++ (Ubuntu 5.1.1-4ubuntu12) 5.1.1 20150504

Thanks for any reply.

Some code now:

#ifndef __GAME_SCENE_H__
#define __GAME_SCENE_H__

#include "cocos2d.h"

class GameScene : public cocos2d::Layer
{
public:
      GameScene(){}
      virtual	~GameScene(){}
      static cocos2d::Scene* createScene();

      virtual bool init() override;

      void menuPauseCallback(cocos2d::Ref* pSender);

     // implement the "static create()" method manually
     CREATE_FUNC(GameScene);
};
#endif // __GAME_SCENE_H__

GameScene.cpp:

#include "GameScene.h"

USING_NS_CC;

cocos2d::Scene* GameScene::createScene()
{
	auto scene = Scene::create();

	auto layer = GameScene::create();

	scene->addChild(layer);

	return scene;
}

bool GameScene::init()
{
	 if (!Layer::init())
	{
		return false;
	}

	Size visibleSize = Director::getInstance()->getVisibleSize();
	Vec2 origin = Director::getInstance()->getVisibleOrigin();
	
	auto sprite = Sprite::create("HelloWorld.png");

	sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

	this->addChild(sprite, 0);	
}
/*
void GameScene::menuPauseCallback(cocos2d::Ref* pSender)
{

}*/

and errors:

CMakeFiles/MyGame.dir/Classes/AppDelegate.cpp.o: In function `AppDelegate::applicationDidFinishLaunching()':
	/home/ekicam2/projekty-cocos/ChlebGame/Classes/AppDelegate.cpp:74: undefined reference to `GameScene::createScene()'
	CMakeFiles/MyGame.dir/Classes/HelloWorldScene.cpp.o: In function `HelloWorld::menuNextCallback(cocos2d::Ref*)':
	/home/ekicam2/projekty-cocos/ChlebGame/Classes/HelloWorldScene.cpp:105: undefined reference    to `GameScene::createScene()'
	collect2: error: ld returned 1 exit status
	CMakeFiles/MyGame.dir/build.make:161: polecenia dla obiektu 'bin/MyGame' nie powiodły się
	make[2]: *** [bin/MyGame] Błąd 1
	CMakeFiles/Makefile2:66: polecenia dla obiektu 'CMakeFiles/MyGame.dir/all' nie powiodły się
	make[1]: *** [CMakeFiles/MyGame.dir/all] Błąd 2
	Makefile:76: polecenia dla obiektu 'all' nie powiodły się
	make: *** [all] Błąd 2

Did you add the files to CMakeLists.txt?

1 Like