使用 Box2D 在 Cocos2D 项目中包含 GameLayer.h 时出现编译错误

发布于 2024-12-07 10:22:01 字数 444 浏览 1 评论 0原文

所以我在一个名为 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城凉梦凉人心 2024-12-14 10:22:01

将主菜单的扩展名更改为.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++.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文