我遇到了一个极其奇怪的错误或暂时丧失了大脑功能。
我有一个在 XCode 中运行的 box2d/cocos 项目。这一切都工作正常,但我的代码目前是概念“黑客”的证明。清理代码的第一阶段是为各种对象创建类。
现在,如果我创建一个全新的 Objective C 类(继承自 NSObject),如下所示,一切都可以正常编译。当我尝试导入“Box2D.h”时,我收到了来自 box2d 库的无数错误,表示无法构建它。准确地说,201 表明该类本身没有问题。任何人都可以阐明吗?我已经尝试过清理并重建以及重新启动 XCode。
我的 super 复杂的类定义
#import "Box2D.h"
@interface test : NSObject
@end
抛出编译器错误的示例
Expected '=', ',', ';', 'asm' or '__attribute__' before 'b2Fixture' in /Users/..../libs/Box2D/Dynamics/b2Body.h
最佳答案
为此,您需要一个 Objective-C++
文件,因为 Box2D 是用 C++ 编写的,因此不能在 Objective-C
中开箱即用地进行编译。幸运的是,只需将文件从 myClass.m
重命名为 myClass.mm
关于iphone - 添加 box2d header 会导致大量编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9474141/