我正在尝试将 Boost 库合并到我的程序中,特别是 lexical_cast
和 geometry
.我使用 #include"boost/boost/geometry.hpp"
包含它们和 #include"boost/boost/lexical_cast/lexical_cast_old.hpp"
.
当我运行代码时,出现 fatal error “无法打开包含文件:‘boost/geometry/geometry.hpp’:没有这样的文件或目录”,这导致我找到 Boost 库中的另一个 .hpp 文件,其中包含另一个库,但使用 #include<...>
而不是 #include"..."
.
当我将它替换为 "..."
时这个错误出现了,但它被替换为使用 #include<...>
包含的下一个库而不是 #include"..."
.
我觉得这可能会让我陷入替换几乎所有 #include<...>
实例的困境与 #include"..."
这需要很长时间。是否有我可以更改的设置或我可以包含的一段代码来解决这个问题?
或者我可以摆脱所有其他不必要的库并更改我需要的库(我知道,这仍然会很多,因为它们似乎相互依赖)。
我有 Boost 库版本 1.58.0。
最佳答案
首先你应该了解 #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>
如果您使用的是非 header 库,您还应该在项目属性中添加 Boost 库的路径 → Linker → General → 其他库目录。
关于c++ - 如何包含 Boost 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893307/