C++ “我该怎么办?”;批量递归超出堆栈限制”;运行Boost.Build时?

C++ “我该怎么办?”;批量递归超出堆栈限制”;运行Boost.Build时?,c++,boost-build,C++,Boost Build,我使用的是64位Win7 我下载了最新的Boost源代码,为了收集二进制文件,我必须通过测试 构建过程。我还接受了最新的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 PROCESSI

我使用的是64位Win7

我下载了最新的Boost源代码,为了收集二进制文件,我必须通过测试 构建过程。我还接受了最新的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      ******
我有15,8 GB的内存

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

  • 转到boost目录中的
    tools\build\v2\
    ,然后从那里运行引导程序

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

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

  • b2工具集=gcc地址模型=64变量=发布链接=静态、共享 线程=多--布局=系统目标os=windows


    希望这能有所帮助。

    此错误发生在以下情况:

    • 您正在使用Windows版本的
      *.tar.bz2
      包中的源代码,
    • 您没有指定工具集

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

    Jesse Good和DevSolar已经给出了答案

    但需要一些组合

    适用于Windows+MinGW(通用条款)

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

    .\bootstrap.bat gcc
    
    gcc参数将停止递归错误

    2) 然后b2将在同一目录中生成

    最简单的安装方法是

    .\b2 toolset=gcc --prefix="path\of\compiled\files\" install
    
    toolset=gcc参数是必需的,否则编译.dll将失败

    3) 加


    到系统路径(您可以在谷歌上搜索“添加系统路径变量win”,win 7无需重新启动即可激活设置)

    Boost
    版本过时且不支持当前工具集时,我看到过这种情况。例如,boost-1.57.0不支持VC15编译器,并向我提供了错误消息

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

    ,使用“\bootstrap.bat gcc”解决了递归问题
    "path\of\compiled\files\include\boost_?_??"
    "path\of\compiled\files\lib"