Подтвердить что ты не робот

Как построить boost 1.55 с MINGW?

Я загрузил boost 1.55 и MinGW. Консоль отвечает мне, что у меня нет никакой команды. Я не могу понять, как связать 2 пути и активировать gcc-компилятор. Постскриптум Если я построю boost с помощью Microsoft Compiler, у меня будет около 8 ошибок с ошибкой 3861!
Как я могу его построить?

4b9b3361

Ответ 1

Сначала убедитесь, что ваш каталог mingw bin находится в вашей среде PATH, поэтому gcc и g++ могут быть вызваны из командной строки. Затем перейдите в свой корневой каталог boost, где вы извлекли файлы.

Следуйте за этим с помощью bootstrap + b2.exe для сборки. Например, предположим, что вы хотите только скомпилировать регулярную часть boost. Следующие команды должны выполнить трюк:

bootstrap mingw
b2 toolset=gcc regex

Вы можете использовать:

b2 --show-libraries

чтобы получить список модулей, которые вы можете создать индивидуально. Конечно, вы можете построить их все:

b2 toolset=gcc

Просмотрите Boost Invocation подробный список доступных параметров.

Ответ 2

Ответ Greatwolf не работал у меня, так вот как мне удалось заставить его работать.

Сначала убедитесь, что MinGW\bin находится на вашем пути

Перейдите в каталог tools\build\v2 вашей папки boost. Например, в моем случае это было C:\Boost\boost_1_55_0\tools\build\v2. Затем запустите

bootstrap mingw

После этого перейдите в корневой каталог Boost (эта часть важна, так как b2 определяет, что строить на основе текущего каталога)

Теперь, если вы хотите создать файловую систему, сделайте

tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem

Это положит libboost_filesystem-mgw48-d-1_55.dll и т.д. в stage\lib. Если вы хотите построить все, просто оставьте часть --with-filesystem.

Ответ 3

Я смог построить его, следуя инструкциям из Сурьмы. Однако изначально я получил эту ошибку:

Bootstrapping the build engine
\Windows was unexpected at this time.

Ошибка была решена, очистив переменную PATH и вставив в нее только папку MinGW:

set PATH=C:\MinGW\bin

Затем инструкции Сурьмы выполнили эту работу для меня. Спасибо!!

Просто две другие мелочи, которые могут быть полезны. BOOST для MinGW следует строить из оболочки Windows, а не из оболочки MSYS. И в версии 1.57 bootstrap.bat script больше не находится в инструментах \build\v2, а непосредственно в инструментах\build.

Ответ 4

Если вы установили MinGW/GCC как часть TDM-GCC, у вас будет "Командная строка MinGW", которую вы можете запустить. Это загружает окно командной строки и помещает компилятор GCC в PATH для этого окна. (Аналогично "Командная строка разработчика", установленная с Visual Studio.)

Я думаю, что "MinGW distro" поставляется с одним.

Если у вас есть встроенная командная строка, вы можете просто:

  • Запустить "Командная строка MinGW"
  • Перейдите в папку Boost (например, C:/Boost)
  • Выполнить bootstrap gcc
  • Запустите b2 toolset=gcc (или любую команду b2, которая вам нужна)

Если вы работаете с примерами, когда кто-то явно не устанавливает набор инструментов, вам придется добавить toolset=gcc самостоятельно. Обратите внимание, что toolset должно быть помещено в позицию свойства, а не в позицию или позицию команды. От b2 --help:

b2 [options] [properties] [install|stage]

Итак, если кто-то писал команду для вызова команды install с параметром --prefix, они записывали бы ее как:

b2 --prefix=C:\boost-build install

И вы перепишете его как:

b2 --prefix=C:\boost-build toolset=gcc install

Подробнее см. b2 --help.