crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как работать с буст?
ubuntu
  опции профиля:
сообщение 24.12.2007, 9:12
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 32
Регистрация: 10.10.2007
Пользователь №: 9

Спасибо сказали: 0 раз(а)




Репутация:   0  


Установил себе буст, если быть точней, то разархивировал. :)
И возник резонный вопрос: и что теперь?
Его нужно компилировать или как? Как с ним работать в студии?

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

p.s. это я типа решил изучить, новую для себя библиотеку. :)

Сообщение отредактировал ubuntu - 24.12.2007, 9:13
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 24.12.2007, 11:04
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Boost - это набор библиотек интегрированных между собой.
Некоторые из этих библиотек - только набор заголовочных файлов, другие нужно собирать.

Для того, чтобы использовать какие-нибудь библиотеки из Boost, нужно прописать путь к boost-у в среде.
Если используешь библиотеки, которые надо собирать - их надо предварительно собрать. :-)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ubuntu
  опции профиля:
сообщение 24.12.2007, 12:00
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 32
Регистрация: 10.10.2007
Пользователь №: 9

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ну с переменными средами все понятно, но как я узнаю, что нужно собирать, а что нет?
Извини за ламерский вопрос. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 24.12.2007, 12:08
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(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
  опции профиля:
сообщение 24.12.2007, 12:14
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 32
Регистрация: 10.10.2007
Пользователь №: 9

Спасибо сказали: 0 раз(а)




Репутация:   0  


Во теперь понятно, буду пробовать. :)

Спасибо.

Сообщение отредактировал ubuntu - 24.12.2007, 12:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 24.12.2007, 21:13
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Цитата(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
  опции профиля:
сообщение 25.12.2007, 0:05
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 32
Регистрация: 10.10.2007
Пользователь №: 9

Спасибо сказали: 0 раз(а)




Репутация:   0  


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

Поправьте меня, я не вижу другого применения ему, так как для GUI есть Qt, а что такого есть в boost, чего нет или нельзя сделать в том же Qt?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 25.12.2007, 8:03
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


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

Ну а насчёт что можно или нельзя сделать с помощью Qt/Boost - всё можно сделать и без них, т.к. они обе написаны на С++. :-)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 25.12.2007, 11:00
Сообщение #9


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(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
  опции профиля:
сообщение 25.1.2008, 18:26
Сообщение #10


Администратор
****

Группа: Администратор
Сообщений: 646
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

Спасибо сказали: 17 раз(а)




Репутация:   2  


Тема разделена, дальнейшее обсуждение перенесено в тему: Интегрирация Eclipse + Jam + boost.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 12:07