我正在开发一个跨平台的cocos2dx游戏,并且在使用Eclipse配置Boost框架时遇到问题。截至目前,该项目组织得不好,因为Android工作区完全位于剩余的项目结构之外。
Android project: /Users/usr/Documents/cocos2d-2.0-x-2.0.4/proj/proj.android
iOS project: /Users/usr/projects/proj/ios
Classes: /Users/usr/projects/proj/classes
Boost: /Users/usr/projects/proj/libs/boost
我将主要使用Boost::Geometry
,这是一个仅限标题的库。在Xcode中,它工作正常。
但是当我将Boost路径/Users/usr/projects/proj/libs/boost
添加到Project Properties→C / C ++ general→Paths and Symbols→GNU C和GNU C ++并在我的源代码中包含任何头文件(#include <boost/foreach.hpp>
)时,Eclipse无法找到该文件并显示:
fatal error: boost/foreach.hpp: No such file or directory
我究竟做错了什么?
您需要在Android项目的jni
目录中的Android.mk文件中添加标题搜索路径。在当前的标准模板中,您有类似的东西
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
在那里。要添加Boost目录,请将其更改为
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../../../projects/proj/libs
如果libs
目录是Boost头的位置。