我正在尝试让Box2D与Cocos2d-x项目一起运行。我正在添加碰撞检测,但是出现链接器错误
体系结构i386的未定义符号:“ CContactListener :: CContactListener()”,引用自:HelloWorldScene.o中的HelloWorld :: init()

我已经尝试了几件事并进行了几天的研究,但仍无法解决。任何帮助都会很棒。
这是一些代码片段

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

最佳答案

CContactListener.cpp未在Xcode中添加目标版本。我只是在.ccp文件的文件检查器中选中了我项目的目标框。轻松修复。

07-24 09:23