如何包含Boost库?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何包含Boost库?相关的知识,希望对你有一定的参考价值。

我正在尝试将Boost库合并到我的程序中,特别是lexical_castgeometry。我用#include"boost/boost/geometry.hpp"#include"boost/boost/lexical_cast/lexical_cast_old.hpp"包括它们。

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

当我为"..."替换它时,这个错误就会消失,但是它被替换为使用#include<...>而不是#include"..."包含的下一个库。

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

或者我可以摆脱所有其他不必要的库并更改我需要的库(我知道,这仍然会很多,因为它们似乎相互依赖)。

我有Boost库版本1.58.0。

答案

首先你应该读一下#include "filepath"#include <filepath> here之间的区别。

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

  1. 转到项目属性→C / C ++→常规→其他包含目录,并添加到boost库根目录的路径(在我的情况下为C:Program Files (x86)Boost_1_53)。
  2. 在您的来源中加入.hpp文件,例如#include <boost/lexical_cast/lexical_cast_old.hpp>

如果您使用的是非标题库,则还应在项目属性→链接器→常规→附加库目录中添加Boost库的路径。

另一答案

例如:

  1. 提升库 - c:oostoost_1_58_0(以管理员身份运行booststrap.batb2)。
  2. 将字符串$(THIRD_PARTY)oostoost_1_58_0include$(THIRD_PARTY)oostoost_1_58_0添加到VC ++目录→包含目录
另一答案

在Visual Studio 2012中,右键单击项目并选择“属性”。

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

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

如果您使用的是所有仅限标题的库,那么您就完成了。否则,您需要将Boost库路径添加到“Library Directories”。

以上是关于如何包含Boost库?的主要内容,如果未能解决你的问题,请参考以下文章

将 Boost 库包含到标准 MinGW 路径中

如何在c ++代码块窗口中使用boost 1.63库?

如何在 Makefile 中链接 boost 库?

Boost 库无法在 C++ 中工作,包含目录不起作用

如何为新安装的 Boost 添加编译器包含路径和链接器库路径?

如何使用boost.python中的-fPIC编译静态库