1

我正在尝试将 Boost 1.44 构建到某个目录而不是默认目录中。通过从 boost 根目录执行以下步骤,我在我的 linux 机器上做同样的事情:

./bootstrap.sh bjam --prefix=../../DIR

它将库构建到 ../../DIR/lib 中,将头文件构建到 ../../DIR/include 中。

我试图在我的 Windows 机器上做同样的事情,所以我尝试了:

./bootstrap bjam--prefix=../../DIR

但这将其直接构建到了 boost 根构建区域。我也试过 bjam --builddir=../../DIR/lib --includedir=../../DIR/include

但这似乎都不起作用。关于我做错了什么的任何想法?

4

3 回答 3

1

查看 --includedir 时,布局选项很重要。在 Windows 下,默认是“versioned”,这意味着 boost 版本放置在目录路径中。相反,在 Linux 下“系统”是默认的。

于 2011-06-20T17:10:37.987 回答
0

好吧,经过一番折腾,我想我终于明白了。感谢 sgolodetz 引导我找到答案。

完成后: .\bjam --prefix ....\ install

事情似乎建立在我需要它们的地方。我不记得需要在 linux 上键入 install,但我记性不好。

标题仍然构建到 ....\boost_1_44\boost 而不仅仅是 ....\boost 但我总是可以将它们复制出来

感谢你的帮助

于 2010-11-13T06:28:47.207 回答
0

在指定目录时尝试使用 \ 而不是 /。对于它的价值,我在 Windows 上使用它:

bjam --libdir=..\boost_1_39_0\lib --includedir=..\boost_1_39_0\include --with-date_time --with-filesystem --with-thread --build-type=complete toolset=msvc-9.0 install

不确定这是否有帮助,但至少这是一个想法。

于 2010-11-12T18:21:14.963 回答