1

在 cocos2d-x v3.13.1 中,如果我只想使用 Box2d(而不是集成的花栗鼠物理),我所要做的就是:

#include <Box2d/Box2d.h>

但是升级到v3.17之后就不行了。相反,有一个错误说:

词法或预处理器问题:找不到文件

如何以最少的麻烦包含 Box2d ?我的项目是跨平台的(iOS 和 Android),因此我不必为每个平台设置单独的步骤,而是在寻找与 3.13 一样简单的东西——只需键入 #include 等...

4

1 回答 1

2

以下说明仅适用于 Android。

首先不要#include <>用于非标准库包含,而是使用简单的引号。

要回答您的问题,它无法识别的原因是链接器不知道在哪里可以找到 Box2d 头文件。

只需打开您的 Android.mk 文件,该文件应位于YourProjectRoot/proj.android/app/jni/Android.mk.

在文件顶部添加这一行:

$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external/Box2D/include)

现在一切都应该正常了,就这么简单:)

我假设如果您使用的是 Box2d,您将不想使用 Chipmunk,因此请确保通过将-DCC_ENABLE_CHIPMUNK_INTEGRATION标志设置为 来禁用它0。您可以在相应的Application.mk文件中找到此标志。

于 2019-01-18T02:33:06.220 回答