4

我使用的是 64 位 Win 7。

我下载了最新的 Boost 源代码,为了收集二进制文件,我必须通过 Boost.Build 过程。我还从官方网站上获取了最新的 Boost.Build,当我运行时./bootstrap出现错误:

******  B A T C H   R E C U R S I O N  exceeds STACK limits ******
Recursion Count=592, Stack Usage=90 percent
******       B A T C H   PROCESSING IS   A B O R T E D      ******

我有 i5,8 GB 内存。

是否有其他方法可以获取用于 GCC (G++) 的二进制文件。我知道有 Boostpro,但这只能给我 VS 二进制文件。

4

4 回答 4

1

在以下情况下会发生此错误:

  • 您正在使用*.tar.bz2包中的源代码进行 Windows 构建,并且
  • 您没有指定工具集。

使用*.zip源包指定工具集(或bootstrap.sh msvc其他)可以解决这个问题(至少对我来说)。

于 2013-06-28T10:12:57.337 回答
1

Jesse Good 和 DevSolar 已经给出了答案

但需要一些组合

对于 Windows + MinGW (gcc)

1)在CMD中,在Boost的根目录下,输入

.\bootstrap.bat gcc

gcc 参数将停止递归错误

2)然后在同一目录下会生成b2

最简单的安装方法是

.\b2 toolset=gcc --prefix="path\of\compiled\files\" install

toolset=gcc 参数是必要的,否则 .dll 的编译将失败

3) 添加

"path\of\compiled\files\include\boost_?_??"
"path\of\compiled\files\lib"

到系统路径(你可以谷歌“添加系统路径变量win”,Win 7不需要重启来激活设置)

于 2014-09-09T01:08:39.037 回答
0
  1. 进入tools\build\v2\boost 目录并从那里运行引导程序。

  2. 从与上面相同的目录运行b2 toolset=gcc install --prefix=PREFIX,其中 PREFIX 是您希望安装 boost.build 的位置。

  3. 添加PREFIX\bin到您的 PATH 环境变量中,然后从 boost 根目录中键入类似以下内容(这是一个示例,根据需要更改选项,要查找选项列表,请键入b2 --help):

b2 工具集=gcc 地址模型=64 变体=发布链接=静态,共享线程=多 --layout=system target-os=windows

希望这会有所帮助。

于 2012-09-18T21:08:47.857 回答
0

我已经看到当Boost版本过时并且不支持当前工具集时会发生这种情况。比如 boost-1.57.0 不支持 VC15 编译器,给了我你的错误信息。

简单的解决方案是使用最新版本的Boost.

于 2019-03-20T19:36:57.833 回答