初学者,在学习过程中遇到了一点问题,麻烦各位帮忙解决。

本人初学者,跟着官网给的项目在学习,学习到第二步时遇到了问题。
http://cn.cocos2d-x.org/tutorial/show?id=2596
头文件:
#pragma once
#include"cocos2d.h"
using namespace cocos2d;
class BackgroundLayer:public Layer
{
public:
BackgroundLayer();
~BackgroundLayer();
virtual bool init();
CREATE_FUNC(BackgroundLayer);
void BGIMove(float);
void Start(Ref* pSender);
private:
Sprite* Image_One;
Sprite* Image_Two;
MenuItemSprite* StartBtn;
Menu* menu;
};
.cpp
#include “BackgroundLayer.h”
USING_NS_CC;

BackgroundLayer::BackgroundLayer()
{
}

BackgroundLayer::~BackgroundLayer()
{
}
bool BackgroundLayer::init()
{
if (!Layer::init())
{
return false;
}
int RandomNumber = CCRANDOM_0_1() * 100;
int BGI_Number = RandomNumber % 5;
auto MyWinSize = Director::getInstance()->getVisibleSize();
switch (BGI_Number) {
case 0:
Image_One = Sprite::create(“bg1.jpg”);
Image_Two = Sprite::create(“bg1.jpg”);
break;
case 1:
Image_One = Sprite::create(“bg2.jpg”);
Image_Two = Sprite::create(“bg2.jpg”);
break;
case 2:
Image_One = Sprite::create(“bg3.jpg”);
Image_Two = Sprite::create(“bg3.jpg”);
break;
case 3:
Image_One = Sprite::create(“bg4.jpg”);
Image_Two = Sprite::create(“bg4.jpg”);
break;
case 4:
Image_One = Sprite::create(“bg5.jpg”);
Image_Two = Sprite::create(“bg5.jpg”);
break;
default:
break;
}
Image_One->setPosition(Vec2(MyWinSize.width / 2, MyWinSize.height / 2));
Image_Two->setPosition(Vec2(MyWinSize.width / 2 + Image_Two->getContentSize().width, MyWinSize.height / 2));
Image_One->setScale(0.1);
Image_Two->setScale(0.1);
this->addChild(Image_One, 1);
this->addChild(Image_Two, 1);
auto GameName = Sprite::create(“uires_1.png”);
GameName->setScale(0.1);
GameName->setPosition(MyWinSize.width / 2, MyWinSize.height / 5 * 4);
this->addChild(GameName, 2);
auto StartBtn = MenuItemSprite::create(
Sprite::create(“res/image/uires_2.png”),
Sprite::create(“res/image/uires_2.png”), NULL,
CC_CALLBACK_1(BackgroundLayer::Start, this));
StartBtn->setPosition(MyWinSize.width / 2, MyWinSize.height / 2 + 8);
auto StartBtnMoveDown = MoveTo::create(2, Vec2(MyWinSize.width / 2, MyWinSize.height / 2 - 8));
auto StartBtnMoveUp = MoveTo::create(2, Vec2(MyWinSize.width / 2, MyWinSize.height / 2 + 5));
auto StartMoveSeq = Sequence::create(StartBtnMoveDown, StartBtnMoveUp, NULL);
auto StartMoveRepeat = RepeatForever::create(StartMoveSeq);
//StartBtn->runAction(StartMoveRepeat);
menu = Menu::create(StartBtn, NULL);
menu->setPosition(0, 0);
this->addChild(menu, 2);
return true;
}

在运行的时候遇到了如下错误
错误 5 error LNK2019: 无法解析的外部符号 “public: void __thiscall BackgroundLayer::Start(class cocos2d::Ref *)” (?Start@BackgroundLayer@@QAEXPAVRef@cocos2d@@@Z),该符号在函数 “public: virtual bool __thiscall BackgroundLayer::init(void)” (?init@BackgroundLayer@@UAE_NXZ) 中被引用 D:\project\test3\proj.win32\BackgroundLayer.obj test3
错误 6 error LNK1120: 1 个无法解析的外部命令 D:\project\test3\proj.win32\Debug.win32\test3.exe test3

无法解析的外部符号…
这类问题通常是定义了头文件函数,而没有定义实现,你这的错误是头文件中定义了void Start(Ref* pSender);方法,而在cpp文件中没有实现该方法,把该方法实现就好了:2:

表示问题解决了,谢谢了~~