![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
LuckLess |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
захожу я в каталог serialization... пишу
bjam.exe --v2 --toolset=msvc получаю файл.. boost_serialization-vc80-mt-gd-1_35.lib а линковщик студии ругается.. хочет libboost_serialization-vc80-mt-gd-1_35.lib ![]() ![]() |
|
|
Andrew Selivanov |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Command line для линковки в студию!
![]() (Его можно посмотреть где то в свойствах проекта в разделе линковки) |
|
|
LuckLess |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Command line для линковки в студию! ![]() (Его можно посмотреть где то в свойствах проекта в разделе линковки) а нету никакого command line для линковки. я просто указал студии дирректорию где лежат либы.. так что в command line то что там прописано стандартно.. Цитата /OUT:"C:\WorkDir\RsForms\TestBoost\Debug\TestBoost.exe" /NOLOGO /MANIFEST /MANIFESTFILE:"Debug\TestBoost.exe.intermediate.manifest" /DEBUG /PDB:"c:\WorkDir\RsForms\TestBoost\debug\TestBoost.pdb" /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
|
|
|
Tonal |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Для VC в Boost-е работает автолинковка через #pragma comment
Судя по всему, несовместимые опции сборки. Например, ты собираешь проект в статике, а bjam по умолчанию генерит библиотеки для динамики... |
|
|
LuckLess |
![]()
Сообщение
#5
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Tonal
похоже на то.. да.. как bjam - у скачать что я хочу в статике собраться..? |
|
|
LuckLess |
![]()
Сообщение
#6
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
в общем нашел я в комплекте sln для студии 7-1.. открыл.. переименовал названия с 7-1 на 80.. собал.. и вроде работает..
![]() |
|
|
Andrew Selivanov |
![]()
Сообщение
#7
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
в общем нашел я в комплекте sln для студии 7-1.. открыл.. переименовал названия с 7-1 на 80.. собал.. и вроде работает.. ![]() А, понял - просто ты собираешь для динамических библиотек попробуй #define BOOST_ALL_DYN_LINK или собирать с link=static Сообщение отредактировал Andrew Selivanov - 17.4.2008, 14:44 |
|
|
LuckLess |
![]()
Сообщение
#8
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата А, понял - просто ты собираешь для динамических библиотек попробуй #define BOOST_ALL_DYN_LINK или собирать с link=static bjam.exe --v2 --toolset=msvc --link=static так?)) чтото не помогло.. |
|
|
Andrew Selivanov |
![]()
Сообщение
#9
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Цитата А, понял - просто ты собираешь для динамических библиотек попробуй #define BOOST_ALL_DYN_LINK или собирать с link=static bjam.exe --v2 --toolset=msvc --link=static так?)) чтото не помогло.. а вот так? -sBUILD="release debug <threading>multi/single <runtime-link>static/dynamic" |
|
|
LuckLess |
![]()
Сообщение
#10
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата -sBUILD="release debug <threading>multi/single <runtime-link>static/dynamic" не помогло. собирает тоже самое. все, кстати в папке debug.. блин.. нафиг этот bjam.. все студией собирать буду.. |
|
|
Tonal |
![]()
Сообщение
#11
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
У меня сейчас в батничке (boost_mingw.cmd) такая строчка:
Используется так:
Собирает дебаг/релиз/статик/динамик/многопоточку/однопоточку. Ложит всё в %BOOST_ROOT%\stage\lib |
|
|
LuckLess |
![]()
Сообщение
#12
|
Студент ![]() Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Tonal
+1. эта строчка сработала)). вопрос - что означает --with-%1 ..? |
|
|
Andrew Selivanov |
![]()
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Tonal +1. эта строчка сработала)). вопрос - что означает --with-%1 ..? Странно, что не сработала строчка sBUILD ![]() %1 - это имя первого параметра, переданного батнику, т.е. для строчки test.bat PARAM1 PARAM2 PARAM3 %1 = PARAM1, %2 = PARAM2, %3 = PARAM3 А про параметры ты можешь все посмотреть в файле Jamfile.v2, что в корне буста:
|
|
|
Гость_schubbe_* |
![]()
Сообщение
#14
|
Гости ![]() |
Пиши так:
bjam.exe link=static --v2 --toolset=msvc префикс lib указывает на статическую сборку |
|
|
Andrew Selivanov |
![]()
Сообщение
#15
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Недавно вот еще опробовал вариант (для 1.35!):
bjam --build-type=complete --toolset=gcc stage (это мой mingw) Правда этот вариант может не прокатить, если установлена версия ICU, собранная другим компилятором или другой версией компилятора, может несобраться Boost.Regex. Если ICU не установлена, проблем не должно быть ![]() |
|
|
Red Devil |
![]()
Сообщение
#16
|
![]() Студент ![]() Группа: Участник Сообщений: 68 Регистрация: 6.6.2008 Из: Saint-Petersburg Пользователь №: 194 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Other Options: --build-type=<type> Build the specified pre-defined set of variations of the libraries. Note, that which variants get built depends on what each library supports. minimal (default) - Builds the single "release" version of the libraries. This release corresponds to specifying: "release <threading>multi <link>shared <runtime-link>shared" as the Boost.Build variant to build. complete - Attempts to build all possible variations. Опция complete и ждем. Никаких других опций указывать не нужно, соберутся все библиотеки и однотредную, и мультитредные и статические и динамические. Останется их только подключить. Проверено на MSVS 2005. Сообщение отредактировал Red Devil - 6.6.2008, 23:16 |
|
|
mozgofil |
![]() ![]()
Сообщение
#17
|
Студент ![]() Группа: Участник Сообщений: 32 Регистрация: 23.4.2009 Пользователь №: 706 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А что вы здесь собираете собираете (какой пакет, в каком виде, под какую ось)?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#18
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AD |
![]()
Сообщение
#19
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Прошу ткнуть на файл/файлы документации, где рассказано про сборку буста и подключение его к проекту? Заранее спасибо!
|
|
|
Andrew Selivanov |
![]()
Сообщение
#20
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Прошу ткнуть на файл/файлы документации, где рассказано про сборку буста и подключение его к проекту? Заранее спасибо! Вот например: http://www.boost.org/doc/libs/1_39_0/more/...rted/index.html там внизу справа для Windows или *Nix. CygMing можно считать *Nix ![]() |
|
|
AD |
![]()
Сообщение
#21
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Вот например: http://www.boost.org/doc/libs/1_39_0/more/...rted/index.html там внизу справа для Windows или *Nix. Спасибо.CygMing можно считать *Nix ![]() Cygwin, наверное! ![]() ![]() Сообщение отредактировал AD - 28.7.2009, 13:40 |
|
|
Влад |
![]()
Сообщение
#22
|
Участник ![]() ![]() Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: ![]() ![]() ![]() |
Там все bjam'ом делается. Почитай доку, там доходчиво все описано. Единственная неприятность - время.... пока bjam отработает, можешь сходить пообедать
![]() |
|
|
Andrew Selivanov |
![]() ![]()
Сообщение
#23
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Вот например: http://www.boost.org/doc/libs/1_39_0/more/...rted/index.html там внизу справа для Windows или *Nix. Спасибо.CygMing можно считать *Nix ![]() Cygwin, наверное! ![]() ![]() CygMing - это Cygwin и Mingw - чтобы два раза не писать. Лень матушка ![]() |
|
|
Iron Bug |
![]()
Сообщение
#24
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Прорвавшись через горы работы, я вот добралась до обновления буста до 1.39.0. Думала по-быстренькому качнуть да собрать, но какая-то засада со сборкой вышла...
Собираю такой строкой (в общем, ничего особенного, 38-й так же собирался, всё без проблем):
Все ICU-шные макросы и пути указаны и т.п. Проблема в build-type=complete (хочу собрать все варианты). Однако при этом bjam выдаёт ошибку:
Времени особо ковыряться нет, найти ничего полезного на этот счёт в сети с ходу не удалось. Может, кто-то уже напарывался на такую "фичу"? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#25
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата link=shared together with runtime-link=static ну если это вообще осуществимо, может стоит найти это сообщение в коде и посмотреть нет ли там какого-нибудь макроса поблизости, который разрешает подобную сборку.П.С. С бустом не знаком ![]() |
|
|
Iron Bug |
![]()
Сообщение
#26
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
если бы там было всё так просто... там капец сколько ссылок по разным файлам туда-сюда и с ходу понять что ему не нравится, не удалось.
я перерыла рассылки буста, там эта проблема всплывала. проблема в ICU. я без неё не могу работать, мне нужен юникод... снижение требований (сборка только статической линковки) с такой строкой:
не помогла: лезет та же ошибка, хотя нигде явно нет упоминания shared. на shared-link мне не хочется переходить по ряду причин. заявила багу разработчикам буста. буду ждать обновлений. Сообщение отредактировал Iron Bug - 30.7.2009, 8:43 |
|
|
Andrew Selivanov |
![]() ![]()
Сообщение
#27
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
если бы там было всё так просто... там капец сколько ссылок по разным файлам туда-сюда и с ходу понять что ему не нравится, не удалось. я перерыла рассылки буста, там эта проблема всплывала. проблема в 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 |
|
|
AD |
![]()
Сообщение
#28
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Iron Bug |
![]()
Сообщение
#29
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
PS: Очевидный баг с runtime-link тут дело не в самой ICU. для сборки ICU нужны ещё некоторые переменные среды, я их просто не указала. у меня тут проблемы не возникает. но лезет то самое ограничение буста на совместную сборку static и shared, даже в том случае, если нет никакого явного указания на shared. это бага. А для студии в этой строке надо заменить только gcc на msvc? сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset Сообщение отредактировал Iron Bug - 4.8.2009, 11:05 |
|
|
AD |
![]()
Сообщение
#30
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
сейчас строка для bjam выглядит как указано у меня. видимо, это какой-то устаревший пост. для выбора компилятора устанавливается опция toolset А можно еще раз выложить корректную строку bjam для msvc? Заранее спасибо. Сборки - статическая, динамическая, релизная. Ну и дебаг-сборку для динамической сборки тоже можно, для проверки. Сообщение отредактировал AD - 4.8.2009, 11:11 |
|
|
Iron Bug |
![]()
Сообщение
#31
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
ну, в самом простом случае примерно так:
перед сборкой нужно также запустить bootstrap - он создаст необходимую структуру для сборки. собрать (исходники для сборки bjam поставляются с бустом и находятся в папке ./tools/jam) или скачать готовый bjam нужной версии. соответственно, в строке для bjam надо указать необходимые опции линковки (static/shared), версии для debug или release (либо обе), рабочий каталог для сборки, нужную "потокобезопасность" (слово-то какое на русском языке! ![]() для скорости можно ещё добавить количество одновременно выполняемых задач (если машина многопроцессорная): -jN, где N- количество задач. версия компилятора также указывается. для MSVC можно указать просто msvc либо msvc-X.0, если на машине установлено несколько компиляторов. для gcc указывается gcc, для остальных я так не помню, надо читать доки. это всё есть на сайте буста. однако у буста есть много дополнительных библиотек, включающихся опционально (поддержка regex, mpi, некоторые графические библиотеки), а также есть возможность отключать некоторые модули (я, например, собираю буст без поддержки питона, т.к. я им не пользуюсь). но по деталям надо читать доки на сами библиотеки и либо собирать их отдельно, либо включать необходимые опции в общую строку сборки. да, вроде бы для некоторых библиотек для MSVC там прилагаются готовые 'солюшены' (я не мастер русскоязычного программирования!) для сборки, но я их не пробовала применять, так что советовать не буду. Сообщение отредактировал Iron Bug - 5.8.2009, 12:29 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.6.2025, 0:07 |