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