我已经下载,提取和编译了Boost库(包括单独编译的库)。我现在已经使用了他们的安装程序几次,但我似乎无法完全按照我的意愿去做。现在,当我在编译后安装Boost时,它会转到
C:\Boost
这很好。已编译的库转到
C:\Boost\lib
这也没关系。我遇到的问题是安装了预编译的头文件。他们被放在了
C:\Boost\include\boost-1_54\boost
有没有办法使用Boost构建系统和安装工具来设置要安装的预编译头文件
C:\Boost\include
并没有将Boost版本号作为该文件夹层次结构的一部分吗?
我不打算同时使用多个版本的Boost,所以我没有用于实际拥有该版本号。我意识到我可以在安装完成后手动移动它们,但我想先看看我是否忽略或误解了Boost的构建系统。
答案 0 :(得分:0)
--layout=system
从包含路径中删除版本化子目录(如@IgorR。指出)。
"消除路径中的第二次提升"是个坏主意。在一个值得尊敬的操作系统( cough ... )中,各种库的包含文件应该共存于一个公共包含目录中,因此boost
子目录可以避免冲突。因此,通常将Boost标题称为例如标题。 #include <boost/any.hpp>
,即包括 boost/
子目录。
这是由使用Boost的第三方软件和Boost本身完成的。如果从路径中删除第二个boost
,最终会得到C:\Boost\include\any.hpp
,并且任何使用Boost的软件都不会编译,因为即使Boost也找不到自己的包含。