将 Boost 标头安装到特定目录 (Windows)

Install Boost headers to specific directory (Windows)

本文关键字:Windows Boost 安装      更新时间:2023-10-16

我已经下载、提取和编译了 Boost 库(包括单独编译的库)。我已经使用过他们的安装过程几次了,但我似乎无法让它完全按照我想要的方式。现在,当我在编译后安装 Boost 时,它会转到

C:Boost

这很好。编译后的库转到

C:Boostlib

这也很好。我遇到的问题是安装预编译的标头。他们被放在

C:Boostincludeboost-1_54boost

有没有办法使用 Boost 构建系统和安装工具来将要安装的预编译标头设置为仅

C:Boostinclude

并且不让 Boost 版本号成为该文件夹层次结构的一部分?

我不打算同时使用多个版本的 Boost,所以我没有实际使用该版本号的用途。我意识到我可以在安装完成后手动移动它们,但我想先看看我是否忽略或误解了 Boost 构建系统的某些内容。

--layout=system从包含路径中删除版本控制的子目录(如@IgorR指出的那样)。

"消除路径中的第二个助推器"是一个坏主意。在一个受人尊敬的操作系统中(咳咳...),各种库的包含文件应该共存在一个公共的包含目录中,因此boost子目录以避免冲突。因此,升压标头通常被称为例如 #include <boost/any.hpp>,即包括boost/子目录。

这是通过使用 Boost 的第三方软件和 Boost 本身完成的。如果从路径中删除第二个boost,则最终会得到C:Boostincludeany.hpp,并且任何使用Boost的软件都无法编译,因为即使Boost也无法找到自己的包含。