【发布时间】:2013-09-11 03:15:28
【问题描述】:
我已经下载、提取和编译了 Boost 库(包括单独编译的库)。我现在已经使用了他们的安装程序几次,但我似乎无法让它完全按照我的意愿去做。现在,当我在编译后安装 Boost 时会转到
C:\Boost
这很好。编译好的库去
C:\Boost\lib
这也很好。我遇到的问题是预编译头文件的安装。他们被放在了
C:\Boost\include\boost-1_54\boost
有没有办法使用Boost构建系统和安装工具将要安装的预编译头设置为just
C:\Boost\include
并且 Boost 版本号不是该文件夹层次结构的一部分?
我不打算同时使用多个版本的 Boost,因此我没有实际使用该版本号的用途。我意识到我可以在安装完成后手动移动它们,但我想先看看我是否忽略或误解了 Boost 的构建系统。
【问题讨论】:
-
在构建 boost 时调用了哪些命令? “预编译头文件”是什么意思?
-
我跑了
bootstrap然后.\b2 -j8 --prefix=C:\Boost --libdir=C:\Boost\lib --includedir=C:\Boost\include install。预编译的头文件是不需要编译就可以使用的hpp文件,在include目录下的文件。 -
我明白了。添加
--layout=system会得到什么? -
这样我就更接近了。为了使用
--layout=system,我还必须指定我正在构建的变体(我决定暂时默认发布),以防止库上的文件名冲突。问题是包含目录仍然看起来像C:\Boost\include\boost\[all hpp files]。有没有办法摆脱路径中的第二次“提升”? 编辑 抱歉,我刚刚意识到我在提示中输入错误的选项之一。我再试一次。 编辑 2 好的,我已经修复了命令行问题,但它仍在路径中添加第二个 Boost。 -
好吧,有了
Boost.Build,您几乎可以做任何事情,但这并不是那么简单。我猜你必须使用user-config.jam文件(boost.org/doc/display_build.php/boost-build/boost-build/doc/…)自定义你的目标。此外,尝试向 boost-users ML 发帖。
标签: c++ windows boost installation