Boost – замечательная библиотека со множеством функциональности, которой так не хватает в стандартный либах C++. И, конечно же, при её сборке есть небольшие нюансы.
Сборка
Переходим в папку, где будем работать, качаем архив, разархивируем. Пусть это будет например E:\sdk\boost-1.89.0-gcc.
Далее воспользуемся генератором сборщика b2. Если у вас установлен Visual Studio и вы хотите собирать Boost под него, то можно просто вызвать:
bootstrap.bat
Если же вы хотите работать с другим компилятором, то в аргументы придется добавить нужный, например bootstrap.bat gcc для GCC. GCC, при этом, должен быть доступен – выполняйте это в оболочке cygwin, msys2 или какой-то другой. Проверить доступность компилятора можно командой gcc --version.
Для MSYS2, установить GCC можно, например, так:
pacman -Syu
pacman -S mingw-w64-x86_64-gcc
Список соответствий аргументов и компиляторов:
- gcc - gcc
- clang - clang
- borland - embarcadero
- vc71 - msvc 7.1
- vc8 - msvc 8.0
- vc9 - msvc 9.0
- vc10 - msvc 10.0
- vc11 - msvc 11.0
- vc12 - msvc 12.0
- vc14 - msvc 14.0 - VS2015
- vc141 - msvc 14.1 - VS2017
- vc142 - msvc 14.2 - VS2019
- vc143 - msvc 14.3 - VS2022
Далее запускаем b2 для сборки библиотек. Есть очень много опций управления сборкой. Все их можно посмотреть, выполнив b2 --help. Также можно конфигурировать сборку project-config.jam. Мы будем собирать:
b2.bat -j8 stage
Где -j8 значит в 8 потоков, а stage – все библиотеки будут удобно лежать в одной папке.
Для выделения части библиотек из всего Boost для сборки предназначена утилита bcp, например:
bcp json url program_options /json-po-url
Подключение к Visual Studio
Для минимального использования Boost будет достаточно определить пути к заголовочным файлам и собранным библиотекам в свойствах проекта.
- Заголовочные файлы указываются в
C/C++→Общие→Дополнительные каталоги включаемых файлов– указываем распакованную папку Boost, у нас этоE:\sdk\boost-1.89.0-gcc - Библиотеки указываются в
Компоновщик→Общие→Дополнительные каталоги библиотек– указываем папку с библиотеками, у нас этоE:\sdk\boost-1.89.0-gcc\stage\lib
Подключение к CodeBlocks с компилятором GCC
В Project → Build Options для проекта:
- Во вкладке
Search Directoriesуказываем распакованную папку Boost, у нас этоE:\sdk\boost-1.89.0-gcc\includes - Во вкладке
Linker Settingsуказываем библиотеки, у нас этоE:\sdk\boost-1.89.0-gcc\stage\lib\*.a

Отправить комментарий