如何在cocos2d-x项目中包含Box2d?

时间:2018-05-29 06:53:01

标签: cocos2d-x cocos2d-x-3.0 cocos2d-x-3.x

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

#include <Box2d/Box2d.h>

但升级到v3.17后,它无法正常工作。相反,有一个错误说:

  

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

如何以最小的麻烦包括Box2d?我的项目是跨平台的(iOS和Android),所以我不是要为每个平台分别设置单独的步骤,而是寻找像我以前用3.13那样简单的东西 - 只需输入#include等...

1 个答案:

答案 0 :(得分: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文件中找到此标志。