Здравствуйте, гость ( Вход | Регистрация )
Iron Bug | Дата 5.8.2009, 12:24 |
ну, в самом простом случае примерно так:
перед сборкой нужно также запустить 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 |
сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset А можно еще раз выложить корректную строку bjam для msvc? Заранее спасибо. Сборки - статическая, динамическая, релизная. Ну и дебаг-сборку для динамической сборки тоже можно, для проверки. |
|
Iron Bug | Дата 4.8.2009, 11:07 |
PS: Очевидный баг с runtime-link тут дело не в самой ICU. для сборки ICU нужны ещё некоторые переменные среды, я их просто не указала. у меня тут проблемы не возникает. но лезет то самое ограничение буста на совместную сборку static и shared, даже в том случае, если нет никакого явного указания на shared. это бага. А для студии в этой строке надо заменить только gcc на msvc? сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset |
|
AD | Дата 4.8.2009, 9:26 |
У меня сейчас в батничке (boost_mingw.cmd) такая строчка:
А для студии в этой строке надо заменить только gcc на msvc? |
|
Andrew Selivanov | Дата 30.7.2009, 11:03 |
если бы там было всё так просто... там капец сколько ссылок по разным файлам туда-сюда и с ходу понять что ему не нравится, не удалось. я перерыла рассылки буста, там эта проблема всплывала. проблема в ICU. я без неё не могу работать, мне нужен юникод... снижение требований (сборка только статической линковки) с такой строкой:
не помогла: лезет та же ошибка, хотя нигде явно нет упоминания 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. я без неё не могу работать, мне нужен юникод... снижение требований (сборка только статической линковки) с такой строкой:
не помогла: лезет та же ошибка, хотя нигде явно нет упоминания 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-й так же собирался, всё без проблем):
Все ICU-шные макросы и пути указаны и т.п. Проблема в build-type=complete (хочу собрать все варианты). Однако при этом bjam выдаёт ошибку:
Времени особо ковыряться нет, найти ничего полезного на этот счёт в сети с ходу не удалось. Может, кто-то уже напарывался на такую "фичу"? |
|
Andrew Selivanov | Дата 28.7.2009, 16:46 |
Вот например: 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 отработает, можешь сходить пообедать | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 12:01 |