Что мне делать с «пакетной рекурсией, превышающей пределы стека» при запуске Boost.Build?

Я использую 64-битную Win 7.

Я скачал последнюю версию Boost, и чтобы собрать двоичные файлы, мне нужно пройти через
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      ******

У меня i5, 8 ГБ памяти.

Есть ли какой-то другой способ получить бинарные файлы для boost для GCC (G ++). Я знаю что есть
Boostpro, но это может дать мне только двоичные файлы VS.

3

Решение

Эта ошибка возникает, когда:

  • вы используете источники из *.tar.bz2 пакет для сборки Windows, а также
  • Вы не указываете набор инструментов.

Или с использованием *.zip исходный пакет или же указание набора инструментов (bootstrap.sh msvc или что угодно) решает эту проблему (по крайней мере для меня).

1

Другие решения

  1. Идти к tools\build\v2\ в каталоге Boost и запустите загрузчик оттуда.

  2. Бежать b2 toolset=gcc install --prefix=PREFIX из того же каталога, что и выше, где PREFIX, где вы хотите установить boost.build.

  3. добавлять PREFIX\bin в переменную окружения PATH, а затем из корневого каталога boost введите что-то вроде следующего (это пример, измените параметры по своему желанию, чтобы найти список параметров, введите b2 --help):

b2 toolset = модель адреса gcc = 64 вариант = ссылка на выпуск = статическая, общая
threading = multi —layout = system target-os = windows

Надеюсь, это поможет.

0

Ответ уже дали Джесси Гуд и 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"

в системный путь (вы можете Google «добавить переменную системного пути win», Win 7 не требует перезагрузки, чтобы активировать настройку)

0
По вопросам рекламы [email protected]