一:引入box2d到工程中:
右击项目-》属性-》配置属性-》c/c++ -》预处理器-》预处理器定义,将里面的 CC_ENABLE_CHIPMUNK_INTEGRATION=1 改成 CC_ENABLE_BOX2D_INTEGRATION=1 就可以了
另外,上面编译还有问题,可以右击项目-》属性-》通用属性-》框架和引用-》添加新引用,把libBox2D,libChipmunk,libcocos2d,libCocosDenshion,libExtensions都加进来
二:常见错误
6>PhysicalWorld.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall cocos2d::extension::CCPhysicsSprite::setPTMRatio(float)" (?setPTMRatio@CCPhysicsSprite@extension@cocos2d@@QAEXM@Z),该符号在函数 "private: void __thiscall PhysicalWorld::createBullet(class cocos2d::CCPoint,class cocos2d::CCActionInterval *)" (?createBullet@PhysicalWorld@@AAEXVCCPoint@cocos2d@@PAVCCActionInterval@3@@Z) 中被引用
6>PhysicalWorld.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall cocos2d::extension::CCPhysicsSprite::setB2Body(class b2Body *)" (?setB2Body@CCPhysicsSprite@extension@cocos2d@@QAEXPAVb2Body@@@Z),该符号在函数 "private: void __thiscall PhysicalWorld::createBullet(class cocos2d::CCPoint,class cocos2d::CCActionInterval *)" (?createBullet@PhysicalWorld@@AAEXVCCPoint@cocos2d@@PAVCCActionInterval@3@@Z) 中被引用6>E:\study\cocos2d-x\versions\CocoStudioSamples-master\DemoGame\proj.win32\Debug.win32\DemoGame.exe : fatal error LNK1120: 2 个无法解析的外部命令
问题解决了,要把libExtensions 项目里面的
-》属性-》配置属性-》c/c++ -》预处理器-》预处理器定义,将里面的 CC_ENABLE_CHIPMUNK_INTEGRATION=1 改成 CC_ENABLE_BOX2D_INTEGRATION=1 就可以了