如何包含Boost库?

时间:2015-04-27 10:34:40

标签: c++ boost include boost-geometry

我正在尝试将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。

3 个答案:

答案 0 :(得分:9)

首先,您应该了解#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>
  3. 如果您使用的是非标题库,则还应在项目属性链接器常规→中添加Boost库的路径→ 其他库目录

答案 1 :(得分:0)

例如:

  1. 提升图书馆 - c:\boost\boost_1_58_0(以管理员身份运行booststrap.batb2)。
  2. 将字符串$(THIRD_PARTY)\boost\boost_1_58_0\include$(THIRD_PARTY)\boost\boost_1_58_0\添加到 VC ++目录包含目录

答案 2 :(得分:0)

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

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

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

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