如何包含 Boost 库?
How do I include Boost libraries?
我正在尝试将 Boost 库合并到我的程序中,特别是 lexical_cast
和 geometry
。我使用 #include"boost/boost/geometry.hpp"
和 #include"boost/boost/lexical_cast/lexical_cast_old.hpp"
包括它们。
当我 运行 代码时,我得到了致命错误 "Cannot open include file: 'boost/geometry/geometry.hpp': No such file or directory",这导致我进入 Boost 库中的另一个 .hpp 文件,该文件包含另一个库,但使用 #include<...>
而不是#include"..."
.
当我将它替换为 "..."
时,这个错误出现了,但它被替换为使用 #include<...>
而不是 #include"..."
包含的下一个库。
我觉得这可能会让我陷入困境,用 #include"..."
替换几乎所有 #include<...>
的实例,这需要很长时间。是否有我可以更改的设置或我可以包含的一段代码来解决这个问题?
或者我可以删除所有其他不必要的库并更改我需要的库(我知道,这仍然会很多,因为它们似乎相互依赖)。
我有 Boost 库版本 1.58.0。
例如:
- Boost 库 -
c:\boost\boost_1_58_0
(运行 booststrap.bat
和 b2
作为管理员)。
- 将字符串
$(THIRD_PARTY)\boost\boost_1_58_0\include
和 $(THIRD_PARTY)\boost\boost_1_58_0\
添加到 VC++ 目录 → 包含目录
在 Visual Studio 2012 中,right-click 在您的项目上 select "Properties"。
在属性对话框中,select "Configuration Properties" 然后 "VC++ Directories"。
您需要将 Boost 包含路径添加到 "Include Directories" 列表。
如果您正在使用所有 header-only 库,那么您就完成了。否则,您需要将 Boost 库路径添加到 "Library Directories".
首先,您应该了解 #include "filepath"
和 #include <filepath>
here 之间的区别。
就个人而言,我正在使用 Visual Studio 的 Boost,如下所示:
- 转到项目属性→C/C++→常规→ 其他包含目录,并添加到
boost
库根目录的路径(在我的例子中是 C:\Program Files (x86)\Boost_1_53
)。
- 在您的源代码中包含一个 .hpp 文件,例如
#include <boost/lexical_cast/lexical_cast_old.hpp>
如果您使用的是非 headers-only 库,您还应该在 项目属性 → 链接器 中添加 Boost 库的路径→ 常规 → 其他库目录.
我正在尝试将 Boost 库合并到我的程序中,特别是 lexical_cast
和 geometry
。我使用 #include"boost/boost/geometry.hpp"
和 #include"boost/boost/lexical_cast/lexical_cast_old.hpp"
包括它们。
当我 运行 代码时,我得到了致命错误 "Cannot open include file: 'boost/geometry/geometry.hpp': No such file or directory",这导致我进入 Boost 库中的另一个 .hpp 文件,该文件包含另一个库,但使用 #include<...>
而不是#include"..."
.
当我将它替换为 "..."
时,这个错误出现了,但它被替换为使用 #include<...>
而不是 #include"..."
包含的下一个库。
我觉得这可能会让我陷入困境,用 #include"..."
替换几乎所有 #include<...>
的实例,这需要很长时间。是否有我可以更改的设置或我可以包含的一段代码来解决这个问题?
或者我可以删除所有其他不必要的库并更改我需要的库(我知道,这仍然会很多,因为它们似乎相互依赖)。
我有 Boost 库版本 1.58.0。
例如:
- Boost 库 -
c:\boost\boost_1_58_0
(运行booststrap.bat
和b2
作为管理员)。 - 将字符串
$(THIRD_PARTY)\boost\boost_1_58_0\include
和$(THIRD_PARTY)\boost\boost_1_58_0\
添加到 VC++ 目录 → 包含目录
在 Visual Studio 2012 中,right-click 在您的项目上 select "Properties"。
在属性对话框中,select "Configuration Properties" 然后 "VC++ Directories"。
您需要将 Boost 包含路径添加到 "Include Directories" 列表。
如果您正在使用所有 header-only 库,那么您就完成了。否则,您需要将 Boost 库路径添加到 "Library Directories".
首先,您应该了解 #include "filepath"
和 #include <filepath>
here 之间的区别。
就个人而言,我正在使用 Visual Studio 的 Boost,如下所示:
- 转到项目属性→C/C++→常规→ 其他包含目录,并添加到
boost
库根目录的路径(在我的例子中是C:\Program Files (x86)\Boost_1_53
)。 - 在您的源代码中包含一个 .hpp 文件,例如
#include <boost/lexical_cast/lexical_cast_old.hpp>
如果您使用的是非 headers-only 库,您还应该在 项目属性 → 链接器 中添加 Boost 库的路径→ 常规 → 其他库目录.