Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как работать с буст?
Форум на CrossPlatform.RU > Библиотеки > boost
ubuntu
Установил себе буст, если быть точней, то разархивировал. :)
И возник резонный вопрос: и что теперь?
Его нужно компилировать или как? Как с ним работать в студии?

Немного погуглил информация достаточно разрозненная, и пока непонятно вообще все.

p.s. это я типа решил изучить, новую для себя библиотеку. :)
Tonal
Boost - это набор библиотек интегрированных между собой.
Некоторые из этих библиотек - только набор заголовочных файлов, другие нужно собирать.

Для того, чтобы использовать какие-нибудь библиотеки из Boost, нужно прописать путь к boost-у в среде.
Если используешь библиотеки, которые надо собирать - их надо предварительно собрать. :-)
ubuntu
Ну с переменными средами все понятно, но как я узнаю, что нужно собирать, а что нет?
Извини за ламерский вопрос. :)
Andrew Selivanov
Цитата(ubuntu @ 24.12.2007, 13:00) *
Ну с переменными средами все понятно, но как я узнаю, что нужно собирать, а что нет?
Извини за ламерский вопрос. :)


В boost собираются в lib-ы далеко не все библиотеки. Более того, собрать их можно по разному: static (dynamic) / multi threading, для gcc, для msvc etc. Для этого команда boost разработала свой сборщик - bjam. Его можно скачать в виде бинарника (bjam.exe) и положить в директорию которая есть в path (например windows...) или прописать для него свою директорию. Все, что собрано по умолчанию будет лежать в bin.v2. Рекомендую все собрать сразу (и release и debug версии)

Далее - когда ты подключаешь конкретные библиотеки (#include <boost/...>) и собираешь проект, на этапе линковки ты получишь ругань, следовательно данные библиотеки нужно подключать еще и в виде *.lib файлов к этапу линковки.
ubuntu
Во теперь понятно, буду пробовать. :)

Спасибо.
Tonal
Цитата(Andrew Selivanov @ 24.12.2007, 15:08) *
Все, что собрано по умолчанию будет лежать в bin.v2. Рекомендую все собрать сразу (и release и debug версии)

У меня, по умолчанию все либки копируются в boost\stage\lib.
Кроме того, директорию можно выбирать. :)

Цитата(Andrew Selivanov @ 24.12.2007, 15:08) *
Далее - когда ты подключаешь конкретные библиотеки (#include <boost/...>) и собираешь проект, на этапе линковки ты получишь ругань, следовательно данные библиотеки нужно подключать еще и в виде *.lib файлов к этапу линковки.

Если говорить о VC, то для него доступен авто-линк. При этом никаких библиотек явно к проекту подключать не надо, т.к. все необходимые для этого директивы (#pragma link) прописаны прям в хедерах. :)

Так что вся настройка студии заключается в прописывании путей до хедеров и либок boost-а.

Ну а какие библиотеки надо собмрать написано в справки к ним.
Я собираю только те, которые использую.
ubuntu
Цитата(Tonal @ 24.12.2007, 22:13) *
Я собираю только те, которые использую.
Так, по этому поводу возник вопрос, как я понимаю, boost в основном используется для написания консольных приложений, так?

Поправьте меня, я не вижу другого применения ему, так как для GUI есть Qt, а что такого есть в boost, чего нет или нельзя сделать в том же Qt?
Tonal
Библиотеки Boost используются для написания любых приложений. :-)
И естественно, некоторые библиотеки Boost и Qt перекрываются. Но не все.
Например Spirit, MPL, lambda, bind...
Кроме того, часто есть резоны не использовать Qt в разработке - например, если код или библиотека будут использоваться вместе с другой GUI-ёвой библиотекой.

Ну а насчёт что можно или нельзя сделать с помощью Qt/Boost - всё можно сделать и без них, т.к. они обе написаны на С++. :-)
Andrew Selivanov
Цитата(Tonal @ 24.12.2007, 22:13) *
Цитата(Andrew Selivanov @ 24.12.2007, 15:08) *
Все, что собрано по умолчанию будет лежать в bin.v2. Рекомендую все собрать сразу (и release и debug версии)

У меня, по умолчанию все либки копируются в boost\stage\lib.
Кроме того, директорию можно выбирать. :)

Цитата(Andrew Selivanov @ 24.12.2007, 15:08) *
Далее - когда ты подключаешь конкретные библиотеки (#include <boost/...>) и собираешь проект, на этапе линковки ты получишь ругань, следовательно данные библиотеки нужно подключать еще и в виде *.lib файлов к этапу линковки.

Если говорить о VC, то для него доступен авто-линк. При этом никаких библиотек явно к проекту подключать не надо, т.к. все необходимые для этого директивы (#pragma link) прописаны прям в хедерах. :)

Так что вся настройка студии заключается в прописывании путей до хедеров и либок boost-а.

Ну а какие библиотеки надо собмрать написано в справки к ним.
Я собираю только те, которые использую.

Гм, ни разу не пользовался boost-ом в студии :) и все пути к либам (во всяком случае под mingw) я прописываю явно :) можно конечно было положить их в одну папку, но мне так показалось удобнее (знаю, знаю, извращение, грешен :)
Надо попробовать под студию...
Admin
Тема разделена, дальнейшее обсуждение перенесено в тему: Интегрирация Eclipse + Jam + boost.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.