iphone - 添加 box2d header 会导致大量编译器错误

标签 iphone objective-c xcode box2d

我遇到了一个极其奇怪的错误或暂时丧失了大脑功能。

我有一个在 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/

相关文章:

ios - 从另一个 UIViewController 呈现 UIViewController

ios - xcode 8 beta 中的主要 Storyboard错误

xcode - iOS 5屏幕初始自动旋转

ios - 函数 'ERR_load_crypto_strings' 的隐式声明在 Xcode 中的 C99 中无效

iphone - 调整 iPhone 5 中的表格 View 大小

iphone - 核心数据并发(NSOperation)

iphone - 时钟和日历图标如何工作

iphone - 如何在iphone中设置html +css add

ios - 带有比较器的核心数据排序描述符

ios - 使用 AWS Appsync 将图像上传到 s3 的过程 ||使用 Appsync 上传 iOS 图片