Cocos2d-x — clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

Я получаю эти сообщения в Cocos2d-x (2.1.5), когда выполняю учебное пособие (Воздушный хоккей) из книги «Руководство для начинающих Cocos2d-x».

Я проверил все «#include», BuildPhases и т. Д. В XCode, а также выполнил «Проверка настроек» в «Компиляции источников» (около 250 файлов) и просканировал Интернет и был бы признателен всем за это. Я еще не упомянул их в файлах .cpp.

Кстати, версия Cocos2d-x в книге не совпадает с версией, которую я использую, я проверил веб-сайт книг и нашел его у автора: Авторы комментируют релизы к учебнику (ам)

Это моя первая попытка с не Objective-C & Cocos2d-х.

GameLayer.h:

#ifndef __GAMELAYER_H__
#define __GAMELAYER_H__

#define GOAL_WIDTH 400

#include "cocos2d.h"#include "GameSprite.h"
using namespace cocos2d;

class GameLayer : public cocos2d::CCLayer {

GameSprite  *_player1;
GameSprite  *_player2;
GameSprite  *_ball;

CCArray     *_players;
CCLabelTTF  *_player1ScoreLabel;
CCLabelTTF  *_player2ScoreLabel;

CCSize      _screenSize;

int _player1Score;
int _player2Score;

void playerScore (int player);

public:

~GameLayer();

virtual bool init();

static CCScene *scene();

CREATE_FUNC(GameLayer);

virtual void ccTouchesBegan(CCSet* pTouches, CCEvent* event);
virtual void ccTouchesMoved(CCSet* pTouches, CCEvent* event);
virtual void ccTouchesEnded(CCSet* pTouches, CCEvent* event);

void update (float dt);

};

#endif // __GAMELAYER_H__

Сообщения:

clang: warning: argument unused during compilation: '-websockets'
Undefined symbols for architecture i386:
"GameLayer::ccTouchesBegan(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
"GameLayer::ccTouchesEnded(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
"GameLayer::ccTouchesMoved(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
"GameLayer::update(float)", referenced from:
vtable for GameLayer in GameLayer.o
"non-virtual thunk to GameLayer::ccTouchesBegan(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
"non-virtual thunk to GameLayer::ccTouchesEnded(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
"non-virtual thunk to GameLayer::ccTouchesMoved(cocos2d::CCSet*, cocos2d::CCEvent*)", referenced from:
vtable for GameLayer in GameLayer.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

0

Решение

Вы не реализовали эти функции в вашем GameLayer.ccp. После обучения вы узнаете, как их реализовать.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]