你如何在XCode中正确包含Boost文件(C ++第三方库)?

时间:2014-03-18 15:13:30

标签: c++ xcode boost

我正在运行Mac OSX 10.9.2(Mavericks),我使用的是Xcode 5.1。

我一直在研究如何在我的程序中正确包含Boost文件,但我根本无法做到。我目前在/ usr / local / include / boost /中保存了提升。每当我尝试包含boost文件时,它要么不编译,要么无法找到该文件,或者如果找到该文件,它会与已存在的其他文件发生冲突('对我来说似乎是什么样的)。有人可以提供一个如何正确执行此操作的详细说明,并最好提供某种代码段吗?请包含几个不同的boost文件(即存在于boost目录顶层的文件,但也包括子目录中存在的文件,如算法文件)。

1 个答案:

答案 0 :(得分:0)

使用boost库时,基本上有两种类型的包含:

  1. 仅包含模板
  2. 例如,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