Ошибка компоновщика Xcode Cocos2d-x Box2D Конструктор CContactListener не определен

Я пытаюсь запустить Box2D с моим проектом Cocos2d-x. Я добавляю обнаружение столкновений, но получаю ошибку компоновщика
Неопределенные символы для архитектуры i386: «CContactListener :: CContactListener ()», на которую ссылаются из: HelloWorld :: init () в HelloWorldScene.o

Я попробовал несколько вещей и исследовал в течение нескольких дней, но не могу понять это. Любая помощь будет велика.
Вот некоторые фрагменты кода

HelloWorldScene.h

 CContactListener *_contactListener; //Variable declared and #include "ContactListener.h" is present at the top

HelloWorldScene.cpp

_contactListener = new CContactListener(); //This line gets the error
_world->SetContactListener(_contactListener);

ContactListener.h

class CContactListener : public b2ContactListener {

public:CContactListener();
~CContactListener();
std::vector<ContactData>_contacts;
virtual void BeginContact(b2Contact* contact);
virtual void EndContact(b2Contact* contact);
virtual void PreSolve(b2Contact* contact, const b2Manifold* oldManifold);
virtual void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse);

};

ContactListener.cpp

#include "ContactListener.h"
CContactListener::CContactListener(): _contacts()
{
}

CContactListener::~CContactListener()
{
}
//...other functions

0

Решение

CContactListener.cpp не был добавлен целевой сборки в Xcode. Я просто установил флажок цели для моего проекта в File Inspector для файла .ccp. Легко исправить.

1

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

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