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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощь в сборке программы с boost 
:(
    Опции темы
blyaaa
Дата 20.7.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток.
Суть такова.
Имеется небольшой проект, состоящий из трех файлов: crawler.h, crawler.cpp и, собственно файл сод-ий главную функцию - searcher.cpp.
Проект компилится утилитой g++. В процесс сборки вовлечена утилита make.

Makefile:
Код

source_dirs := . /usr/include/libxml2/
search_wildcards := $(addsuffix /*.cpp,$(source_dirs))
searcher: $(notdir $(patsubst %.cpp,%.o,$(wildcard $(search_wildcards))))
    g++ -lpthread -isystem $^ -o $@
VPATH := $(source_dirs)
%.o: %.cpp
    g++ -c -isystem -MD $(addprefix -I,$(source_dirs)) $<
include $(wildcard *.d)


Кароче, если в файле searcher.cpp (собстно там где находится функция mail) сделать #include <boost/asio.hpp>,
то при попытке "мейка" линкер ругается вот так:
Код

g++ -lpthread -isystem crawler.o searcher.o -o searcher
searcher.o: In function `__static_initialization_and_destruction_0(int, int)':
searcher.cpp:(.text+0x2a5): undefined reference to `boost::system::get_system_category()'
searcher.cpp:(.text+0x2af): undefined reference to `boost::system::get_generic_category()'
searcher.cpp:(.text+0x2b9): undefined reference to `boost::system::get_generic_category()'
searcher.cpp:(.text+0x2c3): undefined reference to `boost::system::get_generic_category()'
searcher.cpp:(.text+0x2cd): undefined reference to `boost::system::get_system_category()'
searcher.o: In function `boost::asio::error::get_system_category()':
searcher.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[boost::asio::error::get_system_category()]+0x7): undefined reference to `boost::system::get_system_category()'
collect2: ld returned 1 exit status
make: *** [searcher] Error 1


Если инклудить файл не в файле с главной функцией а из файла допустим crawler.cpp, линкер не ругается, но именное пространство boost не доступно:
Код

searcher.cpp: In function 'int main(int, char**)':
searcher.cpp:8: error: 'boost' has not been declared


Отмечу, что без опций -lpthread -isystem, линкер ругался подобным матом и на поключение boost/asio даже из файла crawler.cpp.
Гугл пока что проблему не решил.
Кто что скажет по этому поводу?
Заранее благодарен.
PM MAIL   Вверх
andrew_121
Дата 21.7.2009, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


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

Репутация: 3
Всего: 33



Цитата(blyaaa @  20.7.2009,  23:23 Найти цитируемый пост)
Проект компилится утилитой g++

Это не утилита. Это компилятор.


Цитата(blyaaa @  20.7.2009,  23:23 Найти цитируемый пост)
g++ -lpthread -isystem $^ -o $@

Эту строку замени на:
Цитата

g++ -lpthread -lboost_system $^ -o $@



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
blyaaa
Дата 21.7.2009, 13:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Это не утилита. Это компилятор.


Спасибо, капитан очевидность, никогда не знал)))

Шутки в сторону.
Цитата

g++ -lpthread -lboost_system $^ -o $@

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

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

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


 




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


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

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