我想在我的iOS项目中使用Boost :: Geometry Library。经过一天的几次尝试,我在这里。
由于Geometry是一个仅限Header的库,我认为不需要二进制文件,只需添加* .hpp文件即可。我是对的吗?
这就是我所做的:
boost
根文件夹提取到libs/boost
文件夹。因此,boost root的路径是project / libs / boost / boost(其中包含geometry
)Header Search Path
设置为
#include "boost/[geometry]/geometry.hpp"
抛出“未找到boost / geometry.hpp文件”#include "geometry.hpp"
在geometry.hpp中抛出错误“boost / geometry / core / cs.hpp file not found”这是我的项目结构:
proj
|--- classes
|--- ios
|--- libs
| |--- cocos2dx
| |--- CocosDenshion
| +--- boost
+--- res
我错过了什么?
答案 0 :(得分:2)
我现在成功地整合了不仅仅是Boost :: Geometry,而是整个Boost库。以下是要遵循的正确步骤:
boost
文件夹,在我的情况下是$(PROJECT_NAME)/../../libs/boost
#include <boost/geometry.hpp>
由于Boost :: Geometry是一个仅限Header的包,因此工作正常。但是对于需要编译的包,需要采用不同的方法。
答案 1 :(得分:1)
虽然您可以将整个boost存储库添加为项目的已接受答案,但这需要很长时间才能编译。
更强大和解耦的方法是使用静态库。
为此,您可以使用ofxiOSBoost静态库和标题:
(适用于iOS 6,iOS 7,iOS 8 +)
发布Boost 1.57.0 libc ++(c ++ 11),libstdc ++,包括构建脚本