我正在尝试让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文件的文件检查器中选中了我项目的目标框。轻松修复。