使用 Box2D 在 Cocos2D 项目中包含 GameLayer.h 时出现编译错误
所以我在一个名为 mainMenu: 的文件中有以下代码:
[[CCDirector sharedDirector] runWithScene:[GameLayer scene]];
并且我有 #import "GameLayer.h"
。 GameLayer 在 .h
头文件中包含了 cocos2d、box2d、GLES-Render。
因此,每当我在 mainMenu 文件 (.m
) 中包含 GameLayer 并尝试构建应用程序时,它都会失败返回大约 360 个有关 b2d 的错误(b2settings、b2math 等)。有人知道我做错了什么吗?
注意,mainMenu 代码在不包含 GameLayer 的情况下工作得很好,没有 mainMenu 的 GameLayer 也是如此!
so i have the following code in a file called mainMenu:
[[CCDirector sharedDirector] runWithScene:[GameLayer scene]];
and I have #import "GameLayer.h"
. GameLayer has cocos2d, box2d, GLES-Render included in the .h
header file.
so whenever I include GameLayer in the mainMenu file (.m
) and try to build the app, it fails returning around 360 errors all about b2d (b2settings, b2math etc). anyone has any idea what I am doing wrong??
NOTE the mainMenu code works perfectly fine without including the GameLayer, and so does GameLayer without mainMenu!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将主菜单的扩展名更改为.mm。这使得它成为一个 Objective-C++ 文件,这是必需的,因为 box2d 是用 C++ 编写的。
Change Main Menu's extension to .mm. This makes it an Objective-C++ file, which is needed, because box2d is in C++.