![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
Помогите разобраться с процессом установки и последующим использованием boost'a. Заветной странички в документации я так и не нашел (вернее я так думаю). Интуитивно поставил boost из репов (apt-get install libboost-dev) но если просто компилировать без указание каких либо опций для g++ то компиляции конечно не проходит и вылазит куча ошибок о том что он етого не нашел, этого не знает и т.д.
Подскажите как правильно начать. Заранее спасибо. Система ubuntu 10.10 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
покажи код + командную_строку + сообщения
|
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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, тогда ошибка что он именно эти либы не находит. Еще раз повторюсь, я не хотел бы найти ответ для данного конкретного случая, потому что на следующем примере будут новые ошибки. Я хотел бы понять концепцию что бы в следующий раз уже знать что искать. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
-l<имя твой boost библиотеки> -L<путь к boost библиотекам>
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
ни о чем.. Добавлено @ 12:07 если буст и в правду установлен из репозитариев, то он лежит в /usr/include и /usr/lib Это сообщение отредактировал(а) boostcoder - 29.10.2010, 12:07 |
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
да, в /usr/include хедеры по крайней мере точно есть, и либлы вероятно тоже на месте. тогда получается нужно указывать только параметр -l... но какой ? возмож но я сглупил и либы вместо boost-pthread, называется как то по другому в моей системе. Приду домой залезу посмотрю названия и попробую. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
конечно ![]() не понятно с какого фонаря вы вообще взяли такие имена библиотек. ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
рекомендую ставить пакет libboost-all-dev, в этом случае поставятся все библиотеки, входящие в boost, и все хидеры.
|
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
пропустил этот пакет когда искал, установил его. Собрал предыдущий тестовый пример так 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 тогда почему собралось ? и как узнать для каких частей буста какие либы подключать ? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
ничего не понял ![]() Добавлено через 59 секунд boost_system линковать нужно всегда. потому у нее и имя такое. asio - header only либа. ее ваще линковать не нужно. Добавлено через 2 минуты вы ошибки компиляции от ошибок линковки не отличаете. |
|||
|
||||
cupper |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
спасибо, теперь боле менее понятно. Для меня тема boost & lib & dll пока лес гремучий, поэтому все путаю и мало чего понимаю.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |