Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > boost, установка и параметры для g++ |
Автор: cupper 28.10.2010, 22:36 |
Помогите разобраться с процессом установки и последующим использованием boost'a. Заветной странички в документации я так и не нашел (вернее я так думаю). Интуитивно поставил boost из репов (apt-get install libboost-dev) но если просто компилировать без указание каких либо опций для g++ то компиляции конечно не проходит и вылазит куча ошибок о том что он етого не нашел, этого не знает и т.д. Подскажите как правильно начать. Заранее спасибо. Система ubuntu 10.10 |
Автор: boostcoder 28.10.2010, 23:00 |
покажи код + командную_строку + сообщения |
Автор: cupper 29.10.2010, 08:59 |
а так и думал что это попросят, поэтому и не написал этого. Я не хотел бы найти решение в данном частном случае, а хотел понять общую концепцию, или чтоб просто направили туда где это уже написано. код взят от сюда http://beta.boost.org/doc/libs/1_43_0/doc/html/boost_asio/tutorial/tuttimer5/src.html как я уже сказал командная строка была без параметров, g++ name.cpp -o name ошибки типа undefined reference boost::thread... и обычный ld когда либы не находит. Да я пробывал -lpthread, -lboost-pthread, -lboost-system, тогда ошибка что он именно эти либы не находит. Еще раз повторюсь, я не хотел бы найти ответ для данного конкретного случая, потому что на следующем примере будут новые ошибки. Я хотел бы понять концепцию что бы в следующий раз уже знать что искать. |
Автор: xvr 29.10.2010, 11:49 |
-l<имя твой boost библиотеки> -L<путь к boost библиотекам> |
Автор: boostcoder 29.10.2010, 12:05 | ||
ни о чем.. Добавлено @ 12:07 если буст и в правду установлен из репозитариев, то он лежит в /usr/include и /usr/lib |
Автор: cupper 29.10.2010, 12:51 | ||
да, в /usr/include хедеры по крайней мере точно есть, и либлы вероятно тоже на месте. тогда получается нужно указывать только параметр -l... но какой ? возмож но я сглупил и либы вместо boost-pthread, называется как то по другому в моей системе. Приду домой залезу посмотрю названия и попробую. |
Автор: boostcoder 29.10.2010, 12:55 |
конечно ![]() не понятно с какого фонаря вы вообще взяли такие имена библиотек. ![]() |
Автор: bsa 29.10.2010, 16:50 |
рекомендую ставить пакет libboost-all-dev, в этом случае поставятся все библиотеки, входящие в boost, и все хидеры. |
Автор: cupper 29.10.2010, 19:37 | ||
пропустил этот пакет когда искал, установил его. Собрал предыдущий тестовый пример так 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 тогда почему собралось ? и как узнать для каких частей буста какие либы подключать ? |
Автор: cupper 29.10.2010, 20:41 |
спасибо, теперь боле менее понятно. Для меня тема boost & lib & dll пока лес гремучий, поэтому все путаю и мало чего понимаю. |