Форум программистов, компьютерный форум, киберфорум
Наши страницы
Boost C++
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.74/88: Рейтинг темы: голосов - 88, средняя оценка - 4.74
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
1

Сборка Boost в Visual Studio

20.05.2015, 20:49. Просмотров 15894. Ответов 29
Метки нет (Все метки)

Сборка 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. В итоге должна получиться такая структура:

Код
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. Например:

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

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

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

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

b2

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

Код
.\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 и указав другую выходную папку.
Например:

Код
.\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).
17
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2015, 20:49
Ответы с готовыми решениями:

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

Установить Boost на Visual Studio
Ребят, помогите в нелегком деле: как прикрутить библиотеку boost к компилятору Visual Studio...

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

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

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

29
Nick Alte
Эксперт С++
1653 / 1025 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
20.05.2015, 21:33 2
Добавлю небольшой взнос.
По умолчанию система сборки Boost "украшает" имена получившихся файлов всяческими дополнениями, указывающими на вариант сборки (отладочный, многопоточный, dll/статическая библиотека), а ещё - обозначением системы сборки (msvc, gcc) и версии самого Boost. Эти два последних "украшения", как мне кажется, захламляют имена файлов и затрудняют переход на новые версии Boost: ну кому приятно мотаться по настройкам всех проектов, переписывая в именах файлов 1_49 на 1_50?
К счастью, система сборки Boost предусмотрела настройку такого украшательства. Устраивающий меня формат наименования (без номера версии и тулсета) включается параметром
Код
--layout=tagged
Зная этот ключ, несложно найти справку по другим схемам именования.
1
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
20.05.2015, 22:02  [ТС] 3
Nick Alte, кстати, при сборке Boost описанным выше способом
этой проблемы нет: там все .lib- и .dll-файлы складываются в одну папку и
для успешного построения проекта, использующего Boost, достаточно
достаточно указать ее в "Additional Library Directiries" (ну и путь к Boost в
"Additional Include Directories", само собой).

То есть, можно пересобрать Boost новой версии, скопировать новые
файлы в эту папку и больше ничего менять не придется.
0
Nick Alte
Эксперт С++
1653 / 1025 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
21.05.2015, 19:08 4
Видимо, возникло недопонимание. Я говорил о том, что пометки о версии Boost и использованном инструментарии указываются непосредственно в именах файлов - тех самых lib и dll. И при переходе на новую версию Boost имя файла будет уже другим.
0
21.05.2015, 19:08
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
21.05.2015, 19:33  [ТС] 5
Цитата Сообщение от Nick Alte Посмотреть сообщение
И при переходе на новую версию Boost имя файла будет уже другим.
Так ведь это имя никому мешать не будет - в проекте никаких изменений не потребуется.
Т.е. я, к примеру, для подключения <boost/asio.hpp> указываю путь к Boost в include directories и
путь к библиотекам (не сами .lib-файлы, а именно путь к папке, где они все лежат) и все.
0
Nick Alte
Эксперт С++
1653 / 1025 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
21.05.2015, 20:40 6
Понятно. У меня как-то вылетело из головы, что студия такие вещи проделывает. В случае с gcc этот номер не пройдёт.
1
Kastaneda
Jesus loves me
Эксперт С++
5037 / 3056 / 349
Регистрация: 12.12.2009
Сообщений: 7,724
Записей в блоге: 2
Завершенные тесты: 1
25.05.2015, 21:01 7
Немного не пойму - зачем собирать свой boost, если есть все собранное готовое к скачиванию с оффициального источника? Буквально сегодня качал 1_58_0 для MSVS 13, переносил boost::asio проект из под *nix'ов. Все работает хорошо. (пришлось некоторые MS хаки руками добавить, но не суть))
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.05.2015, 22:39  [ТС] 8
Цитата Сообщение от Kastaneda Посмотреть сообщение
Немного не пойму - зачем собирать свой boost, если есть все собранное готовое к скачиванию с оффициального источника?
IMHO, возможность более тонкого контроля сборки.

Например, скачал я готовые либы для VS2013, а там в dll стоит "required
subsystem version = 6.0", т.е. на WinXP и Server 2003 эти сборки уже работать
не будут. И не понятно, что за Студия там, которой собирали. Установлен ли
на нее последний апдейт или нет ? И собрать под себя, например, поставить
какие-то специфичные ключи сборки, тоже уже нельзя. Как раз свежий пример
есть: пересобирал один из модулей без оптимизации, чтобы можно было
иметь нормальный стек через RtlCaptureStackBackTrace.

Ну то есть, тут каждый сам для себя решает, что ему важнее.
0
Kastaneda
Jesus loves me
Эксперт С++
5037 / 3056 / 349
Регистрация: 12.12.2009
Сообщений: 7,724
Записей в блоге: 2
Завершенные тесты: 1
28.05.2015, 07:23 9
Цитата Сообщение от Убежденный Посмотреть сообщение
IMHO, возможность более тонкого контроля сборки.
Это я понимаю, собственно я так же считаю.
Просто люди, которые это знают, соберут boost (и вообще хоть что) самостоятельно, а тема, очевидно, ориентирована на тех, кто самостоятельно собрать не может. IMHO - таким людям тонкая настройка не нужна, им лишь бы работало. Зачем таким людям может понадобиться ручная сборка?
0
артист
95 / 22 / 20
Регистрация: 17.09.2014
Сообщений: 1,229
Завершенные тесты: 3
12.12.2015, 14:48 10
Подскажите пожалуйста, у меня на 4ом пункте уже не получается(Подготовка к сборке. В открытой консоли выполняем команду).

Windows 7 x64 Rus (DualCore AMD Athlon 64 X2, 2200, 4GB RAM).
Visual Studio 2012 Ultimate(или Express, вообще странное дело, устанавливал 1е а потом 2 и в общем не знаю...)
Boost 1.60.0.b1.

Всё сделал, вбил команду, в консоли выдало:

Не удалось построить Boost.Build движок.
Весь текст:
Кликните здесь для просмотра всего текста
cd /d C:\boost_1_60_0_b1

D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC>cd /d C:\boost_1_60_0_b1

C:\boost_1_60_0_b1>bootstrap
Building Boost.Build engine

Failed to build Boost.Build engine.
Please consult bootstrap.log for further diagnostics.

You can try to obtain a prebuilt binary from

http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.


Открываю лог и вижу:
Компиляция рабочего стола приложения для ARM платформы не поддерживается.
Весь лог:
Кликните здесь для просмотра всего текста
###
### Using 'vc11' toolset.
###

C:\boost_1_60_0_b1\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap

C:\boost_1_60_0_b1\tools\build\src\engine>md bootstrap

C:\boost_1_60_0_b1\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c
command.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
compile.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
constants.c
debug.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
execcmd.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
execnt.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
filent.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
frames.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
function.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
glob.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
hash.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
hdrmacro.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
headers.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
jam.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
jambase.c
jamgram.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
lists.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
make.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
make1.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
object.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
‘®§¤**ЁҐ Є®¤*...
Љ®¬ЇЁ«пжЁп...
option.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
output.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
parse.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
pathnt.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
pathsys.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
regexp.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
rules.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
scan.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
search.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
subst.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
timestamp.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
variable.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
modules.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
strings.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
filesys.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
builtins.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
md5.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
class.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
cwd.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
w32_getreg.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
‘®§¤**ЁҐ Є®¤*...
Љ®¬ЇЁ«пжЁп...
native.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
set.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
path.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
regex.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
property-set.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
sequence.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
order.c
D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\VC\INCLUDE\crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications for the ARM platform is not supported.
‘®§¤**ЁҐ Є®¤*...

C:\boost_1_60_0_b1\tools\build\src\engine>exit /b 2


Почитал в интернете

Пишут, что виновата Microsoft.Build.CPPTasks.Common.v110.dll и в ней запрещено компилировать.
Но если с ней что - то сделать, то будет всё нормально.

Что делать? Где взять подлеченную дллку? ))

Добавлено через 1 час 1 минуту
Попробовал просто запустить батник, он повисел и закрылся(не успел посмотреть, писало там что или нет).

В логе всё нормально вроде:
Кликните здесь для просмотра всего текста
###
### Using 'vc11' toolset.
###

C:\boost_1_60_0_b1\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap

C:\boost_1_60_0_b1\tools\build\src\engine>md bootstrap

C:\boost_1_60_0_b1\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c
command.c
compile.c
constants.c
debug.c
execcmd.c
execnt.c
filent.c
frames.c
function.c
glob.c
hash.c
hdrmacro.c
headers.c
jam.c
jambase.c
jamgram.c
lists.c
make.c
make1.c
object.c
‘®§¤**ЁҐ Є®¤*...
Љ®¬ЇЁ«пжЁп...
option.c
output.c
parse.c
pathnt.c
pathsys.c
regexp.c
rules.c
scan.c
search.c
subst.c
timestamp.c
variable.c
modules.c
strings.c
filesys.c
builtins.c
md5.c
class.c
cwd.c
w32_getreg.c
‘®§¤**ЁҐ Є®¤*...
Љ®¬ЇЁ«пжЁп...
native.c
set.c
path.c
regex.c
property-set.c
sequence.c
order.c
‘®§¤**ЁҐ Є®¤*...

C:\boost_1_60_0_b1\tools\build\src\engine>.\bootstrap\jam0 -f build.jam --toolset=vc11 "--toolset-root=D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ " clean
...found 1 target...
...updating 1 target...
...updated 1 target...

C:\boost_1_60_0_b1\tools\build\src\engine>.\bootstrap\jam0 -f build.jam --toolset=vc11 "--toolset-root=D:\Programs\Microsoft Visual Studio\Microsoft Visual Studio 11.0\Common7\Tools\..\..\VC\ "
...found 159 targets...
...updating 3 targets...
[MKDIR] bin.ntx86
[COMPILE] bin.ntx86\b2.exe
command.c
compile.c
constants.c
debug.c
execcmd.c
frames.c
function.c
glob.c
hash.c
hcache.c
headers.c
hdrmacro.c
jam.c
jambase.c
jamgram.c
lists.c
make.c
make1.c
mem.c
object.c
Љ®¬ЇЁ«пжЁп...
option.c
output.c
parse.c
pathsys.c
regexp.c
rules.c
scan.c
search.c
subst.c
w32_getreg.c
timestamp.c
variable.c
modules.c
strings.c
filesys.c
builtins.c
class.c
cwd.c
native.c
md5.c
Љ®¬ЇЁ«пжЁп...
set.c
path.c
regex.c
property-set.c
sequence.c
order.c
execnt.c
filent.c
pathnt.c
Создание кода
Создание кода завершено
[COPY] bin.ntx86\bjam.exe
...updated 3 targets...

C:\boost_1_60_0_b1\tools\build\src\engine>exit /b 0


Опять запустил консоль, жду когда скомпилится, пока вроде всё норм...
0
Orodunaar
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 45
12.04.2016, 17:12 11
У меня немного не тривиальный вопрос по теме. Нужно добавит в пакет к программе написанной на основе Boost исходники библиотеки необходимые для программы, пытаюсь разобраться как это сделать. Пока что не получается, подскажите, как конфигурировать исходники библиотеки? И вообще на сколько это оправдано, есть у кого нибудь подобный опыт?
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
12.04.2016, 22:20  [ТС] 12
Цитата Сообщение от Orodunaar Посмотреть сообщение
Нужно добавит в пакет к программе написанной на основе Boost исходники библиотеки необходимые для программы
Надо какое-то более человеческое, что ли, описание.
Так ничего не понятно... Что такое "пакет"? Зачем программе исходники? И т.п.
0
Nick Alte
Эксперт С++
1653 / 1025 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
15.04.2016, 19:37 13
Возможно, имелась в виду компиляция исходников нужной библиотеки из состава Boost вместе с проектом, вместо подключения статической или динамической библиотеки.
0
hoggy
Эксперт С++
7115 / 3160 / 651
Регистрация: 15.11.2014
Сообщений: 7,264
Завершенные тесты: 1
21.04.2016, 19:58 14
Цитата Сообщение от Nick Alte Посмотреть сообщение
Возможно, имелась в виду компиляция исходников нужной библиотеки из состава Boost вместе с проектом, вместо подключения статической или динамической библиотеки.
да да да.

как это сделать?

Убежденный, это к вам вопрос
0
Lethorn
51 / 25 / 2
Регистрация: 04.12.2014
Сообщений: 55
Завершенные тесты: 4
03.05.2016, 12:54 15
Существует проблема при сборке Буста с установленным WDK 10, фейлится на bootstrap, в логах пишет, что невозможно найти ctype.h и т.д. Смог вылечить только удалением WDK .

Добавлено через 4 минуты
Ах да, студия 2015
0
hoggy
Эксперт С++
7115 / 3160 / 651
Регистрация: 15.11.2014
Сообщений: 7,264
Завершенные тесты: 1
03.05.2016, 13:33 16
Цитата Сообщение от Убежденный Посмотреть сообщение
Так ничего не понятно...
Цитата Сообщение от Nick Alte Посмотреть сообщение
имелась в виду компиляция исходников нужной библиотеки из состава Boost вместе с проектом, вместо подключения статической или динамической библиотеки.
оно самое.

например, хочется выдернуть boost::filesystem
и собирать вместе с исходниками своего проекта.

это нужно для "isolation"
то есть, для сборки в условиях,
когда в требованиях стоит галочка:
никаких внешних зависимостей.
0
dasher
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 29
04.05.2016, 04:41 17
сложная затея
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.11.2016, 13:03  [ТС] 18
Дополнение.

Последние версии Boost (например, 1.62.0) уже не собираются по данной инструкции.
На заключительном этапе в консоли появляются примерно такие сообщения:
...failed updating 224 targets...
...skipped 20 targets...
...updated 3988 targets...
Похожие темы:
Не собрались библиотеки boost
Visual Stidio 2013. Не устанавливается boost

В логах сборки Boost много сообщений с ошибками, которые ссылаются
на файл pyconfig.h (Python):
...failed compile-c-c++ bin.v2\libs\python\build\msvc-14.0\release\threading-multi\numeric.obj...
compile-c-c++ bin.v2\libs\python\build\msvc-14.0\release\threading-multi\list.obj
list.cpp
.\boost/python/detail/wrap_python.hpp(50): fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory
Решение простое - исключить Boost.Python из сборки, если он вам не нужен,
для этого есть опция --without-python. Пример использования:
Код
C:\Boost>.\b2 toolset=msvc-9.0 --build-type=complete address-model=32 -j4 --stagedir=C:\Boost\Stage-Win32 --without-python
Проверено на Visual C++ 2008 SP1 и на Visual C++ 2015 update 3, версия Boost - 1.62.0.
Вывод:
...updated 3827 targets...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

C:\Boost

The following directory should be added to linker library paths:

C:\Boost\C:\Boost\Stage-Win32\lib
4
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 122
Завершенные тесты: 1
17.11.2016, 22:46 19
Собрал boost! Использовал этот материал : http://www.boost.org/doc/libs/1_62_0...ll-boost-build.

перед установкой установил Python https://www.python.org/downloads/

Прописал PATH на python

bootstrap.bat из папки boot_1_62_0 запустил

.\b2 --build-type=complete msvc stage прописал в консоли

Почти 8 Гб это добро на диске у меня заняло.

Ах. Да. VS2015 . Всё работает!
0
Ferrari F1
793 / 522 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
04.08.2017, 07:06 20
Как вариант, можно через nuget одним кликом

Сборка Boost в Visual Studio
1
04.08.2017, 07:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2017, 07:06

Сборка boost
Не получается собрать. ПК на котором собираю - Windows 7. Требется собрать тулченом ...

Сборка boost'a
Для сборки надо запустить bootstrap.bat через командную строку VS2012. Вопрос возникает в том, как...

boost и studio
будет ли работать boost 1.54 последний на mvs2005? либо нужно взять какой поменьше...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru