在cocos2d-x v3.13.1中,如果我只想使用Box2d(不是集成的花栗鼠物理),我所要做的就是:
#include <Box2d/Box2d.h>
但升级到v3.17后,它无法正常工作。相反,有一个错误说:
词法或预处理器问题:找不到文件
如何以最小的麻烦包括Box2d?我的项目是跨平台的(iOS和Android),所以我不是要为每个平台分别设置单独的步骤,而是寻找像我以前用3.13那样简单的东西 - 只需输入#include等...
答案 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
文件中找到此标志。