Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> boost, установка и параметры для g++ 
:(
    Опции темы
cupper
Дата 28.10.2010, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



Помогите разобраться с процессом установки и последующим использованием boost'a. Заветной странички в документации я так и не нашел (вернее я так думаю). Интуитивно поставил boost из репов (apt-get install libboost-dev) но если просто компилировать без указание каких либо опций для g++ то компиляции конечно не проходит и вылазит куча ошибок о том что он етого не нашел, этого не знает и т.д.

Подскажите как правильно начать. Заранее спасибо. Система ubuntu 10.10
PM MAIL   Вверх
boostcoder
Дата 28.10.2010, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



покажи код + командную_строку + сообщения
PM WWW   Вверх
cupper
Дата 29.10.2010, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



а так и думал что это попросят, поэтому и не написал этого. Я не хотел бы найти решение в данном частном случае, а хотел понять общую концепцию, или чтоб просто направили туда где это уже написано.

код взят от сюда http://beta.boost.org/doc/libs/1_43_0/doc/...timer5/src.html
как я уже сказал командная строка была без параметров, g++ name.cpp -o name
ошибки типа undefined reference boost::thread... и обычный ld когда либы не
находит. 

Да я пробывал -lpthread, -lboost-pthread, -lboost-system, тогда ошибка что он именно эти либы не находит. 

Еще раз повторюсь, я не хотел бы найти ответ для данного конкретного случая, потому что на следующем примере будут новые ошибки. Я хотел бы понять концепцию что бы в следующий раз уже знать что искать.
PM MAIL   Вверх
xvr
Дата 29.10.2010, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



-l<имя твой boost библиотеки> -L<путь к boost библиотекам>

PM MAIL   Вверх
boostcoder
Дата 29.10.2010, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(cupper @ 29.10.2010,  08:59)
а так и думал что это попросят, поэтому и не написал этого. Я не хотел бы найти решение в данном частном случае, а хотел понять общую концепцию, или чтоб просто направили туда где это уже написано.

код взят от сюда http://beta.boost.org/doc/libs/1_43_0/doc/...timer5/src.html
как я уже сказал командная строка была без параметров, g++ name.cpp -o name
ошибки типа undefined reference boost::thread... и обычный ld когда либы не
находит. 

Да я пробывал -lpthread, -lboost-pthread, -lboost-system, тогда ошибка что он именно эти либы не находит. 

Еще раз повторюсь, я не хотел бы найти ответ для данного конкретного случая, потому что на следующем примере будут новые ошибки. Я хотел бы понять концепцию что бы в следующий раз уже знать что искать.

ни о чем..

Добавлено @ 12:07
Цитата(xvr @  29.10.2010,  11:49 Найти цитируемый пост)
-l<имя твой boost библиотеки> -L<путь к boost библиотекам>

если буст и в правду установлен из репозитариев, то он лежит в /usr/include и /usr/lib

Это сообщение отредактировал(а) boostcoder - 29.10.2010, 12:07
PM WWW   Вверх
cupper
Дата 29.10.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



Цитата(boostcoder @ 29.10.2010,  12:05)
Добавлено @ 12:07
Цитата(xvr @  29.10.2010,  11:49 Найти цитируемый пост)
-l<имя твой boost библиотеки> -L<путь к boost библиотекам>

если буст и в правду установлен из репозитариев, то он лежит в /usr/include и /usr/lib

да, в /usr/include хедеры по крайней мере точно есть, и либлы вероятно тоже на месте. тогда получается нужно указывать только параметр -l... но какой ? возмож но я сглупил и либы вместо boost-pthread, называется как то по другому в моей системе. Приду домой залезу посмотрю названия и попробую.

PM MAIL   Вверх
boostcoder
Дата 29.10.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(cupper @  29.10.2010,  12:51 Найти цитируемый пост)
возмож но я сглупил и либы вместо boost-pthread

конечно smile 
не понятно с какого фонаря вы вообще взяли такие имена библиотек. smile 
PM WWW   Вверх
bsa
Дата 29.10.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



рекомендую ставить пакет libboost-all-dev, в этом случае поставятся все библиотеки, входящие в boost, и все хидеры.
PM   Вверх
cupper
Дата 29.10.2010, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



Цитата(bsa @ 29.10.2010,  16:50)
рекомендую ставить пакет libboost-all-dev, в этом случае поставятся все библиотеки, входящие в boost, и все хидеры.

пропустил этот пакет когда искал, установил его. Собрал предыдущий тестовый пример так
g++ asio.cpp -o asio -lboost_thread -lboost_system
тут все понятно. 
Беру сразу следующий пример уже с использованием asio, конечно же не знаю какие либы подключать, в /usr/lib по грепу на asio  пусто, собираю без -l, получаю ошибки, первые жалуются на boost::system, далее на boost::asio, не долго думая подключаю
g++ asio.cpp -o asio  -lboost_system и бац... оно собирается. Хммм, ведь там не boost::system::asio а просто boost::asio тогда почему собралось ? и как узнать для каких частей буста какие либы подключать ?
PM MAIL   Вверх
boostcoder
Дата 29.10.2010, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(cupper @  29.10.2010,  19:37 Найти цитируемый пост)
Беру сразу следующий пример уже с использованием asio, конечно же не знаю какие либы подключать, в /usr/lib по грепу на asio  пусто, собираю без -l, получаю ошибки, первые жалуются на boost::system, далее на boost::asio, не долго думая подключаю
g++ asio.cpp -o asio  -lboost_system и бац... оно собирается. Хммм, ведь там не boost::system::asio а просто boost::asio тогда почему собралось ? и как узнать для каких частей буста какие либы подключать ? 

ничего не понял smile

Добавлено через 59 секунд
boost_system линковать нужно всегда. потому у нее и имя такое.
asio - header only либа. ее ваще линковать не нужно.

Добавлено через 2 минуты
Цитата(boostcoder @  29.10.2010,  19:41 Найти цитируемый пост)
первые жалуются на boost::system, далее на boost::asio

вы ошибки компиляции от ошибок линковки не отличаете.
PM WWW   Вверх
cupper
Дата 29.10.2010, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



спасибо, теперь боле менее понятно. Для меня тема boost & lib & dll пока лес гремучий, поэтому все путаю и мало чего понимаю.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.