Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.51/263: Рейтинг темы: голосов - 263, средняя оценка - 4.51
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1

Сборка Boost в Visual Studio

20.05.2015, 20:49. Показов 51003. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сборка Boost в Visual Studio

Как это ни странно, сборка Boost, - такой популярной библиотеки, - задача
местами не совсем очевидная, и какого-то единого общепринятого подхода нет.
Я покажу один из простых способов.

Конфигурация

Windows 7 x64 Rus (Core i5-2500, 8GB RAM).
Visual Studio 2010 Professional SP1,
Boost 1.56.0.

Необходимо примерно 10 GB свободного места на диске.

Порядок действий

1) По ссылке на официальном сайте (www.boost.org) скачиваем архив с исходниками.
Предпочтение формату 7z, так как степень сжатия выше. На момент написания этого
сообщения архив с исходниками Boost занимает порядка 80 мегабайт.

2) Распаковываем содержимое архива в любую папку на диске. Например, в корень
диска C. В итоге должна получиться такая структура:

Code
1
2
3
4
5
6
7
C:\
    boost_N_NN_N\
        boost\
        doc\
        libs\
        more\
        ...
N_NN_N - номер версии Boost, в данном примере 1.56.0.
Вместо "C" может быть любой путь, но нежелательно, если в нем будут
пробелы или кириллические символы.

3) Находим в меню "Пуск / Все программы" папку Visual Studio и запускаем
из нее ярлык "Visual Studio 2010 Command Prompt (2010)", далее с помошью
команды cd заходим в папку с исходниками Boost. Например:

Code
1
cd /d C:\boost_1_56_0
4) Подготовка к сборке. В открытой консоли выполняем команду

Code
1
bootstrap
Система сборки Boost подготовит необходимый инструментарий.
Вся операция занимает несколько секунд.

5) Выполняем команду на сборку библиотек Boost:

Code
1
.\b2 toolset=msvc --build-type=complete address-model=32 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\Win32
Описание опций:

b2

Запускает сборку. В старых версиях Boost команда b2 может не
работать, тогда пробуйте bjam:

Code
1
.\bjam toolset=msvc --build-type=complete address-model=32 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\Win32
toolset=msvc

Указывает системе сборки, что должен использоваться компилятор Visual C++.
Если у вас установлено несколько версий Visual Studio, лучше уточнить, какой
версией следует выполнять сборку. Например, msvc-9.0 для Visual Studio 2008,
msvc-10.0 для Visual Studio 2010 и т.д.

--build-type=complete

Сборка всех возможных конфигураций и их сочетаний - Debug/Release, static/dll и т.д.

address-model=32

Сборка для архитектуры x86 (32 бита). Также возможен вариант address-model=64 для x64.

-j4

Параллельная сборка в 4 потока. Рекомендуется ставить число, равное количеству
ядер или процессоров, это может существенно ускорить сборку.

--stagedir

Указывает выходную папку, куда будут скопированы библиотеки.
Полный список опций есть в документации Boost. Сама сборка занимает
некоторое время, в зависимости от мощности компьютера.
На описанной выше конфигурации оборудования - примерно 15-20 минут.

6) Удаляем папку C:\boost_1_56_0\bin.v2 (в ней хранятся промежуточные файлы сборки).

Если нужна также сборка 64-битных версий библиотек (обычно нужна), следует повторить
пункты 5 и 6, изменив опцию address-model на 64 и указав другую выходную папку.
Например:

Code
1
.\b2 toolset=msvc --build-type=complete address-model=64 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\x64
7) Другие зависимости, например ICU, OpenSSL, Zlib и т.п., разрешаются в частном
порядке, согласно документации. Например, для использования OpenSSL в Asio мне
хватило собрать OpenSSL и подключить сгенерированные .lib-файлы к проекту.

Вот и все.
Осталось только указать пути к библиотекам Boost в настройках проекта/компилятора.

include: C:\boost_1_56_0
lib: C:\boost_1_56_0\vs2010sp1\Win32\lib (C:\boost_1_56_0\vs2010sp1\x64\lib для x64).
24
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2015, 20:49
Ответы с готовыми решениями:

Сборка Boost в Visual Studio
у меня в visual studio буста нету, где мне его взять и как установить в студию?

Установить Boost на Visual Studio
Ребят, помогите в нелегком деле: как прикрутить библиотеку boost к компилятору Visual Studio (2008)? Архив с файлами boost скачал. Скачал...

Прикручивание boost к Visual Studio 2010 (не получается)
Короче говоря, скачал с офф-сайта сам буст (версия 1_44) и boost-jam-3.1.17. Как скомпилировать буст, чтобы можно было после прописания...

34
Just Do It!
 Аватар для XLAT
4217 / 2677 / 656
Регистрация: 23.09.2014
Сообщений: 9,200
Записей в блоге: 3
06.03.2018, 14:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от matveev1512 Посмотреть сообщение
Почти 8 Гб это добро на диске у меня заняло.
все тоже самое но тока 180Mb на винте сами либсы.

при:
.\b2 toolset=msvc-14.0 link=static threading=single variant=release address-model=32 -j2 --stagedir=C:\boost_1_66_0\vs2015\Win32
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
24.04.2019, 19:46
А куда это писать ?
C++
1
.\b2 toolset=msvc --build-type=complete address-model=32 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\Win32
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
24.04.2019, 19:51
Цитата Сообщение от Optimus11 Посмотреть сообщение
А куда это писать ?
Ту да же, куда вы писали команду из пункта 3...
1
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
24.04.2019, 20:29
Цитата Сообщение от Someone007 Посмотреть сообщение
Ту да же, куда вы писали команду из пункта 3...
Так после п.4 после bootstrap, в консоли уже больше ничего не позволяет вводить. Или нужно перезапустить ?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
24.04.2019, 20:50
Цитата Сообщение от Optimus11 Посмотреть сообщение
Так после п.4 после bootstrap, в консоли уже больше ничего не позволяет вводить.
Должно давать вводить. Что там у вас конкретно происходит после п.4?
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
24.04.2019, 21:55
Цитата Сообщение от Someone007 Посмотреть сообщение
Должно давать вводить. Что там у вас конкретно происходит после п.4?
Вот это:
C++
1
Building Boost.Build engine
И так уже час.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
25.04.2019, 17:39
Цитата Сообщение от Optimus11 Посмотреть сообщение
И так уже час.
У меня заняло несколько секунд...
Миниатюры
Сборка Boost в Visual Studio  
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
25.04.2019, 20:06
Запустилось, тут распаковка идет, уже гигабайт 5 наверное заняло на диске и все не останавливается.

Добавлено через 36 минут
Подскажите пожалуйста в этой комманде:
C++
1
.\b2 toolset=msvc --build-type=complete address-model=32 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\Win32
vs2010sp1 - не зависит от установленной версии VS ?
0
Software Developer
 Аватар для fastb1t
315 / 229 / 113
Регистрация: 03.05.2017
Сообщений: 1,336
25.04.2019, 20:15
Цитата Сообщение от Optimus11 Посмотреть сообщение
vs2010sp1 - не зависит от установленной версии VS ?
vs2010sp1 - у Вас это просто директория, от неё сборка не зависит.
1
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
25.04.2019, 21:43
VS не видит boost.
Может быть это из за того, что я не указал:
C++
1
toolset=msvc-17.0
А просто указал:
C++
1
toolset=msvc
?

Добавлено через 12 минут
Забыл для Debug указать дополнительные пути просто.
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
26.04.2019, 16:58
Кстати
C++
1
toolset=msvc-17.0
Неработает.

Добавлено через 20 минут
Цитата Сообщение от Kastaneda Посмотреть сообщение
Немного не пойму - зачем собирать свой boost, если есть все собранное готовое к скачиванию с оффициального источника? Буквально сегодня качал 1_58_0 для MSVS 13, переносил boost::asio проект из под *nix'ов. Все работает хорошо. (пришлось некоторые MS хаки руками добавить, но не суть))
Подскажите пожалуйста ссылку на сразу собранный boost ?
Вот тут я не нашел - boost.org/users/download/
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
26.04.2019, 17:02
Цитата Сообщение от Optimus11 Посмотреть сообщение
Вот тут я не нашел - boost.org/users/download/
Вот прямо на этой странице ссылка Prebuilt windows binaries для чего?
1
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
26.04.2019, 19:09
Скачал, но что то они не подключаются.

Добавлено через 3 минуты
Подскажите в
C++
1
.\b2 toolset=msvc --build-type=complete address-model=32 -j4 --stagedir=C:\boost_1_56_0\vs2010sp1\Win32
В msvc обязательно версию указывать ?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
26.04.2019, 19:38
Цитата Сообщение от Optimus11 Посмотреть сообщение
В msvc обязательно версию указывать ?
Нет. Можно вообще ничего не указывать...
.\b2
скомпилит всё с настройками по умолчанию...
1
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
27.04.2019, 15:56
Подскажите еще пожалуйста, чтобы уже еще раз ничего не напутать:

C++
1
2
3
4
5
6
7
The Boost C++ Libraries were successfully built!
 
The following directory should be added to compiler include path:
C:\boost_1_70_0\
 
The following directory should be added to linker library path:
C:\boost_1_70_0\vs2010sp1\win32\lib\
Позвольте пожалуйста несколько вопросов:

1)"should be added to compiler include path" - в VS2017 это: С/C++ -->Общие --> Дополнительные каталоги включаемых файлов ?

2)"should be added to linker library path" - это Компоновщик --> Общие --> Дополнительные каталоги библиотек ?

3)И почему нужно подключать два пути ?

Я правильно понимаю, что в каталоге vs2010sp1\win32\lib\ - хранятся как бы скомпилированные бинарный код подключаемых библиотек ? То есть если бы они не были бинарные, то они бы были расширением .cpp ?
Если да, то почему к примеру в этом каталоге есть файл - boost_container-vc141-mt-gd-x32-1_70.lib, но нет к примеру файла boost_Algorithm-xxx.lib или boost_Asio-xxx.lib ?

4)И что тогда подключается по пути C:\boost_1_70_0\? Header файлы для этих .lib ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.04.2019, 15:56
Помогаю со студенческими работами здесь

Установка boost на Visual Studio C++ 2010 и на CodeBlocks
Доброго времени суток! Можете подсказать или написать инструкцию по "прикручиванию" boost к вышеуказанным IDE?! Поиском в интернете...

Установка Boost 1.60.0 на Visual Studio 2013 Ultimate
Как правильно установить Boost на VS2013 (ставлю последнюю версию 1.60.0)? Перечитал миллион статей - ничего не понятно(( ...

Настройка компилятора MinGW в visual studio code для определения boost
Здравствуйте, я только начал изучать С++ и пока что плохо разбираюсь в языке, но уже знаю основы. Программирую я в visual studio code...

Как подключить Boost к Visual Studio 2008
Здравствуйте, подскажите пожалуйста как подключить boost к Visual Studio 2008. Хочу использовать его многопоточность в консольном...

Подключение boost в среде разработки Visual Studio 2013
Доброго времени суток! Хочу подключить boost, но не получается. 2 IntelliSense: не удается открыть источник файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru