我遇到了极其奇怪的错误或暂时丧失大脑功能。
我有一个在XCode中运行的box2d / cocos项目。这一切都很好但我的代码目前是概念证明“黑客”。清理代码的第一阶段是为各种对象创建类。
现在,如果我创建一个全新的Objective C类(从NSObject继承),如下所示,所有编译都很好。一旦我尝试导入“Box2D.h”,我就会收到来自box2d库的大量错误,说它无法构建。 201确切地说,它表明班级本身没有问题。谁能摆脱任何光明?我已经尝试过清理和重建以及重新启动XCode。
我超级复杂的课程定义
#import "Box2D.h"
@interface test : NSObject
@end
抛出示例编译器错误
Expected '=', ',', ';', 'asm' or '__attribute__' before 'b2Fixture' in /Users/..../libs/Box2D/Dynamics/b2Body.h
答案 0 :(得分:1)
你需要一个Objective-C++
文件,因为Box2D是用C ++编写的,所以不能在Objective-C
开箱即用。幸运的是,只需将文件从myClass.m
重命名为myClass.mm
答案 1 :(得分:1)
快速谷歌出现the header in question。它看起来像C ++代码。这意味着如果你想要的话,你需要编译为Objective-C ++。可能你现在不这样做 - 简单的方法是将文件的扩展名更改为.mm
。