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

Cra*_*arB 10 c++ windows boost install

我已经下载,提取和编译了Boost库(包括单独编译的库).我现在已经使用了他们的安装程序几次,但我似乎无法完全按照我的意愿去做.现在,当我在编译后安装Boost时,它会进入

C:\Boost
Run Code Online (Sandbox Code Playgroud)

这可以.编译的库转到

C:\Boost\lib
Run Code Online (Sandbox Code Playgroud)

这也没关系.我遇到的问题是安装了预编译的头文件.他们得到了

C:\Boost\include\boost-1_54\boost
Run Code Online (Sandbox Code Playgroud)

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

C:\Boost\include
Run Code Online (Sandbox Code Playgroud)

并没有Boost版本号是该文件夹层次结构的一部分?

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

Dev*_*lar 1

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

“移除路径中的第二个提升”是一个坏主意。在一个受人尊敬的操作系统(咳嗽...)中,各种库的包含文件应该共存于一个公共包含目录中,因此该boost子目录是为了避免冲突。因此,Boost 标头习惯上称为eg #include <boost/any.hpp>,即包括boost/子目录。

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