如何包含Boost库

How do I include Boost libraries?

本文关键字:Boost 何包含      更新时间:2023-10-16

我正在尝试将Boost库合并到我的程序中,特别是lexical_castgeometry。我使用CCD_ 3和CCD_。

当我运行代码时,我收到致命错误"无法打开包含文件:'boost/geometry/hpp':没有这样的文件或目录",这导致我转到boost库中的另一个.hpp文件,该文件包括另一个库,但使用#include<...>而不是#include"..."

当我将其替换为"..."时,此库的错误会继续,但它会替换为使用#include<...>而不是#include"..."包含的下一个库。

我觉得这可能会让我陷入一个兔子洞,用#include"..."替换几乎所有的#include<...>实例,这需要很长时间。有没有一个设置我可以更改,或者我可以包含一段代码来解决这个问题?

或者我可以去掉所有其他不必要的库,改变我需要的库吗(我知道,这仍然是一个很大的问题,因为它们似乎相互依赖)。

我有版本为1.58.0的Boost库。

首先,您应该在此处了解#include "filepath"#include <filepath>之间的区别。

就我个人而言,我正在使用Visual Studio中的Boost,如下所示:

  1. 转到项目属性C/C++概述Additional Include Directories,并添加到boost库根目录的路径(在我的情况下为C:Program Files (x86)Boost_1_53)
  2. 在源中包含.hpp文件,如#include <boost/lexical_cast/lexical_cast_old.hpp>

如果您使用的是仅限标头的库,您还应该在项目属性中添加Boost库的路径链接器概述其他库目录

在Visual中;工作室;2012,右键单击您的项目并选择"属性"。

在属性对话框中,选择"配置属性",然后选择"VC++目录"。

您需要将Boost包含路径添加到"包含目录"列表中。

如果您使用的是所有仅表头的库,那么您就完成了。否则,您需要将Boost库路径添加到"库目录"中。

例如:

  1. Boost库-c:boostboost_1_58_0(以管理员身份运行booststrap.batb2)
  2. 将字符串$(THIRD_PARTY)boostboost_1_58_0include$(THIRD_PARTY)boostboost_1_58_0添加到VC++目录包括目录