我正在运行Mac OSX 10.9.2(Mavericks),我使用的是Xcode 5.1。
我一直在研究如何在我的程序中正确包含Boost文件,但我根本无法做到。我目前在/ usr / local / include / boost /中保存了提升。每当我尝试包含boost文件时,它要么不编译,要么无法找到该文件,或者如果找到该文件,它会与已存在的其他文件发生冲突('对我来说似乎是什么样的)。有人可以提供一个如何正确执行此操作的详细说明,并最好提供某种代码段吗?请包含几个不同的boost文件(即存在于boost目录顶层的文件,但也包括子目录中存在的文件,如算法文件)。
答案 0 :(得分:0)
使用boost库时,基本上有两种类型的包含:
例如,array是一个仅包含的模板,因此在编译时需要将此标志发送到您的clang:-I / usr / local / include /
这种方式包含数组时你会这样做:
#include "boost/array.hpp"
包含库时,必须使用b2批处理文件在系统上构建boost。然后使用bjam系统构建。
当构建lib时,你必须将它们链接到你的clang,标志与仅包含文件有点不同,例如假设你想要包含你的系统名为libboost_regex.so的boost regex库。因此,您需要告诉编译器以下两个标志:
-L/usr/local/{boost_build_place}/lib -lboost_regex
-L
告诉你的编译器你所包含的项库的文件夹,-l
标志告诉你想要的特定库,正如你所看到的,当使用{{1}时标记您必须删除-l
前导码和lib
。