Вопрос по windows, build, boost, c++, mingw – Как мне собрать Boost 1.55 с MinGW?

21

Я скачал Boost 1.55 и MinGW.

Консоль отвечает мне, что у меня нет команды. Я не могу понять, как связать два пути и активировать компилятор GCC.

П.С .: Если я соберу надстройку с помощью компилятора Microsoft, у меня будет около 8 ошибок с ошибкой 3861 !!

Как я могу построить это?

Смотрите такжеstackoverflow.com/q/13256788/1390430 Ben

Ваш Ответ

4   ответа
4

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 Больше подробностей.

20

так что вот как мне удалось заставить его работать.

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

Перейти кtools\build\v2 каталог вашей папки буста. Например, в моем случае это было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 часть.

Спасибо, ваш комментарий действительно помог мне! Salgat
36

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

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

bootstrap gcc
b2 toolset=gcc regex

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

b2 --show-libraries

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

b2 toolset=gcc

Проверять, выписыватьсяУскорить вызов для подробного списка доступных вариантов.

Я должен был использоватьbootstrap gcc Chris Chiasson
@ChrisChiasson То же самое здесь. bootstrap mingw или bootstrap.bat mingw представили ошибки для меня. Только загрузчик gcc заставил его работать (с парой предупреждений). После этого я сделал b2 toolset = gcc, и он собирал двоичные файлы из исходного кода в течение ~ 15 минут, и я был хорош. Вам просто нужны эти 2 команды, начиная с версии Boost 1.62.0 Nik-Lz
@ RestlessC0bra это работает для меня, спасибо. Использование версии boost_1_63_0. Я добавил, что нашел в своем файле project-config.jam это "using msvc;" Я был сбит с толку, будет ли b2 использовать msvc для компиляции исходных текстов, однако, определив toolset = gcc, все работает нормально, и boost компилируется с помощью gcc из mingw. stviper
4

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

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 больше не находится в tools \ build \ v2, а прямо в tools \ build.

Похожие вопросы