C++ “我该怎么办?”;批量递归超出堆栈限制”;运行Boost.Build时?
我使用的是64位Win7 我下载了最新的Boost源代码,为了收集二进制文件,我必须通过测试 构建过程。我还接受了最新的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
/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二进制文件
tools\build\v2\
,然后从那里运行引导程序b2 toolset=gcc install--prefix=prefix
,其中prefix是您希望安装boost.build的位置PREFIX\bin
添加到PATH环境变量中,然后从boost根目录键入如下内容(这是一个示例,根据需要更改选项,以查找选项列表,键入b2--help
):希望这能有所帮助。此错误发生在以下情况:
- 您正在使用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"