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

时间:2013-09-11 03:15:29

标签: c++ windows boost install

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

C:\Boost

这很好。已编译的库转到

C:\Boost\lib

这也没关系。我遇到的问题是安装了预编译的头文件。他们被放在了

C:\Boost\include\boost-1_54\boost

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

C:\Boost\include

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

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

1 个答案:

答案 0 :(得分:0)

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

&#34;消除路径中的第二次提升&#34;是个坏主意。在一个值得尊敬的操作系统( cough ... )中,各种库的包含文件应该共存于一个公共包含目录中,因此boost子目录可以避免冲突。因此,通常将Boost标题称为例如标题。 #include <boost/any.hpp>,即包括 boost/子目录。

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