crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в сборка буста...
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Iron Bug Дата 5.8.2009, 12:24
  ну, в самом простом случае примерно так:

bjam --toolset=msvc-8.0 --builddir="D:\Temp\BoostBuild" address-model=32 link=static runtime-link=static threading=multi stage debug release


перед сборкой нужно также запустить bootstrap - он создаст необходимую структуру для сборки.
собрать (исходники для сборки bjam поставляются с бустом и находятся в папке ./tools/jam) или скачать готовый bjam нужной версии.

соответственно, в строке для bjam надо указать необходимые опции линковки (static/shared), версии для debug или release (либо обе), рабочий каталог для сборки, нужную "потокобезопасность" (слово-то какое на русском языке! :) ) - то есть однопоточные/многопоточные версии библиотек, размерность шины (32-64 бита). 'stage' (значение по умолчанию) в данном случае указывает, что готовые библиотеки будут скопированы в локальную папку ./stage относительно корня исходников (можно указать, куда их складывать)
для скорости можно ещё добавить количество одновременно выполняемых задач (если машина многопроцессорная): -jN, где N- количество задач.

версия компилятора также указывается. для MSVC можно указать просто msvc либо msvc-X.0, если на машине установлено несколько компиляторов. для gcc указывается gcc, для остальных я так не помню, надо читать доки. это всё есть на сайте буста.

однако у буста есть много дополнительных библиотек, включающихся опционально (поддержка regex, mpi, некоторые графические библиотеки), а также есть возможность отключать некоторые модули (я, например, собираю буст без поддержки питона, т.к. я им не пользуюсь). но по деталям надо читать доки на сами библиотеки и либо собирать их отдельно, либо включать необходимые опции в общую строку сборки.

да, вроде бы для некоторых библиотек для MSVC там прилагаются готовые 'солюшены' (я не мастер русскоязычного программирования!) для сборки, но я их не пробовала применять, так что советовать не буду.
AD Дата 4.8.2009, 11:10
 
Цитата(Iron Bug @ 4.8.2009, 12:07) *
сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset

А можно еще раз выложить корректную строку bjam для msvc? Заранее спасибо. Сборки - статическая, динамическая, релизная. Ну и дебаг-сборку для динамической сборки тоже можно, для проверки.
Iron Bug Дата 4.8.2009, 11:07
 
Цитата(Andrew Selivanov @ 30.7.2009, 14:03) *
PS: Очевидный баг с runtime-link

тут дело не в самой ICU. для сборки ICU нужны ещё некоторые переменные среды, я их просто не указала. у меня тут проблемы не возникает. но лезет то самое ограничение буста на совместную сборку static и shared, даже в том случае, если нет никакого явного указания на shared. это бага.

Цитата(AD @ 4.8.2009, 12:26) *
А для студии в этой строке надо заменить только gcc на msvc?

сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset
AD Дата 4.8.2009, 9:26
 
Цитата(Tonal @ 18.4.2008, 11:15) *
У меня сейчас в батничке (boost_mingw.cmd) такая строчка:
bjam --v2 gcc release debug threading=multi,single link=static,shared stage --with-%1

А для студии в этой строке надо заменить только gcc на msvc?
Andrew Selivanov Дата 30.7.2009, 11:03
 
Цитата(Iron Bug @ 30.7.2009, 8:53) *
если бы там было всё так просто... там капец сколько ссылок по разным файлам туда-сюда и с ходу понять что ему не нравится, не удалось.
я перерыла рассылки буста, там эта проблема всплывала.
проблема в ICU. я без неё не могу работать, мне нужен юникод...
снижение требований (сборка только статической линковки) с такой строкой:
bjam --toolset=msvc-8.0 --builddir="D:\Temp\BoostBuild" address-model=32 link=static runtime-link=static threading=multi stage debug release --with-regex -sHAVE_ICU=1

не помогла: лезет та же ошибка, хотя нигде явно нет упоминания shared.
на shared-link мне не хочется переходить по ряду причин.


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


bjam --toolset=msvc-8.0 --builddir="D:\Temp\BoostBuild" address-model=32 link=static threading=multi stage debug release --with-regex -sHAVE_ICU=1

Цитата
C:\boost\boost_1_39_0>bjam --toolset=msvc-8.0 --builddir="D:\Temp\BoostBuild" address-model=32 link=static threading=multi stage debug release --with-regex -sHAVE_ICU=1
Note: Building Boost.Regex with Unicode/ICU support enabled
Using ICU in
...patience...
...found 540 targets...
...updating 8 targets...
compile-c-c++ bin.v2\libs\regex\build\msvc-8.0\debug\address-model-32\link-static\threading-multi\icu.obj
icu.cpp
.\boost/regex/icu.hpp(22) : fatal error C1083: Cannot open include file: 'unicode/utypes.h': No such file or directory
...не суть важно...


PS: Очевидный баг с runtime-link
Iron Bug Дата 30.7.2009, 7:53
  если бы там было всё так просто... там капец сколько ссылок по разным файлам туда-сюда и с ходу понять что ему не нравится, не удалось.
я перерыла рассылки буста, там эта проблема всплывала.
проблема в ICU. я без неё не могу работать, мне нужен юникод...
снижение требований (сборка только статической линковки) с такой строкой:
bjam --toolset=msvc-8.0 --builddir="D:\Temp\BoostBuild" address-model=32 link=static runtime-link=static threading=multi stage debug release --with-regex -sHAVE_ICU=1

не помогла: лезет та же ошибка, хотя нигде явно нет упоминания shared.
на shared-link мне не хочется переходить по ряду причин.


заявила багу разработчикам буста. буду ждать обновлений.
Litkevich Yuriy Дата 29.7.2009, 15:09
 
Цитата
link=shared together with runtime-link=static
ну если это вообще осуществимо, может стоит найти это сообщение в коде и посмотреть нет ли там какого-нибудь макроса поблизости, который разрешает подобную сборку.


П.С. С бустом не знаком :)
Iron Bug Дата 29.7.2009, 15:01
  Прорвавшись через горы работы, я вот добралась до обновления буста до 1.39.0. Думала по-быстренькому качнуть да собрать, но какая-то засада со сборкой вышла...

Собираю такой строкой (в общем, ничего особенного, 38-й так же собирался, всё без проблем):

bjam -j2 -sHAVE_ICU=1 --without-python --build-dir="D:\Temp\BoostBuild" --toolset=msvc-8.0 --build-type=complete --address-model=32 stage


Все ICU-шные макросы и пути указаны и т.п.

Проблема в build-type=complete (хочу собрать все варианты).

Однако при этом bjam выдаёт ошибку:

error: link=shared together with runtime-link=static is not allowed
error: such property combination is either impossible 
error: or too dangerious to be of any use


Времени особо ковыряться нет, найти ничего полезного на этот счёт в сети с ходу не удалось. Может, кто-то уже напарывался на такую "фичу"?
Andrew Selivanov Дата 28.7.2009, 16:46
 
Цитата(AD @ 28.7.2009, 14:38) *
Цитата(Andrew Selivanov @ 28.7.2009, 14:25) *
Вот например: http://www.boost.org/doc/libs/1_39_0/more/...rted/index.html там внизу справа для Windows или *Nix.
CygMing можно считать *Nix :)
Спасибо.
Cygwin, наверное! :) Ну это я знаю, что Cygwin - эмуляция ОС. :)

CygMing - это Cygwin и Mingw - чтобы два раза не писать. Лень матушка :) Не моё изобретение, подсмотрено где то на забугре...
Влад Дата 28.7.2009, 15:27
  Там все bjam'ом делается. Почитай доку, там доходчиво все описано. Единственная неприятность - время.... пока bjam отработает, можешь сходить пообедать :)
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 9.7.2025, 11:31