如何包含Boost库
How do I include Boost libraries?
我正在尝试将Boost库合并到我的程序中,特别是lexical_cast
和geometry
。我使用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,如下所示:
- 转到项目属性→C/C++→概述→Additional Include Directories,并添加到
boost
库根目录的路径(在我的情况下为C:Program Files (x86)Boost_1_53
) - 在源中包含.hpp文件,如
#include <boost/lexical_cast/lexical_cast_old.hpp>
如果您使用的是仅限标头的库,您还应该在项目属性中添加Boost库的路径→链接器→概述→其他库目录。
在Visual中;工作室;2012,右键单击您的项目并选择"属性"。
在属性对话框中,选择"配置属性",然后选择"VC++目录"。
您需要将Boost包含路径添加到"包含目录"列表中。
如果您使用的是所有仅表头的库,那么您就完成了。否则,您需要将Boost库路径添加到"库目录"中。
例如:
- Boost库-
c:boostboost_1_58_0
(以管理员身份运行booststrap.bat
和b2
) - 将字符串
$(THIRD_PARTY)boostboost_1_58_0include
和$(THIRD_PARTY)boostboost_1_58_0
添加到VC++目录→包括目录
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 我应该包含什么来制作 boost.python 扩展?
- boost::包含提升单元的元组的哈希值
- boost::interprocess::managed_mapped_file 如何包含弹性向量?
- 包含来自 boost 1.73.0 的read_graphviz_new.cpp无法编译
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- C++ Boost-iostream:包含 filtering_streambuf.hpp 时出现神秘错误
- Android Studio 链接器命令在包含 Boost 库时失败
- 使用 CMake 在跨平台项目中C++包含 Boost 库
- 包含字符串的结构的 Boost 进程间向量是否需要特殊的分配器?
- 检查两个 Boost.MPL 序列是否按任何顺序包含相同的类型
- 为什么我可以在不链接任何额外库的情况下包含 sys/*.h
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- CMake 没有将 boost 目录包含在它生成的项目中
- 使用Boost ::与包含Boost :: Mutex的类绑定
- 将Boost库包含到标准MinGW路径中
- 如何将boost项目包含在我的c++代码中
- 如何使用CMake将外部库(boost)包含到CLion C++项目中
- 为什么boost shared_ptr包含带有close()的标头
- 为什么我在iterator_facade中得到编译错误取决于我把我的Boost头包含在哪里