boost::thread lib

Модератор: Модераторы разделов

Logot
Сообщения: 58
ОС: Linux Mandrake 9.1

boost::thread lib

Сообщение Logot »

Доброго времени суток
Пытаюсь прилинковать бустовскую либу и никак не получается, задолбался уже
Короче говоря вот:

Код:

#include <boost/thread/thread.hpp> using namespace boost; int main() { thread thrd; return (0); }


компилятор пишет:
undefined reference to boost::thread::thread()
undefined reference to boost::thread::~thread()

то, что он мне пишет мне понятно, непонятно как написать makefile
вот как он у меня выглядит сейчас:

Код:

OUT_INCLUDE = -I /usr/local/include/boost-1_35 OUT_LIBS = -L /usr/local/lib THREAD_LIB = -I /usr/local/lib/libboost_thread-gcc42-mt-1_35 first: main.o igor.o lena.o g++ -D_REENTERANT -lpthread -o first main.o igor.o lena.o $(OUT_LIBS) $(THREAD_LIB) main.o: igor.h stat.h main.cpp g++ -D_REENTERANT -ggdb $(OUT_INCLUDE) -c main.cpp igor.o: igor.h igor.cpp g++ -D_REENTERANT -ggdb $(OUT_INCLUDE) -c igor.cpp lena.o: lena.h igor.h lena.cpp g++ -D_REENTERANT -ggdb $(OUT_INCLUDE) -c lena.cpp clean: rm first main.o igor.o lena.o


буст собрал в /usr/local/include/boost-1_35 для исходников и в /usr/local/lib для либов, где и лежит требуемая библиотека
Как грамотно написать makefile?

PS. Вообще-то я потихоньку перехожу с винды в линукс. После выхода висты у меня всякая охота пропала программить на плюсах и шарпе под винду, хотя на работе придётся :( , вот и осваиваю линух :)
Спасибо сказали:
Logot
Сообщения: 58
ОС: Linux Mandrake 9.1

Re: boost::thread lib

Сообщение Logot »

Проблему решил. Может кому пригодится.

Изменил строку в makefile:

Код: Выделить всё

THREAD_LIB = -l /usr/local/lib/libboost_thread-gcc42-mt-1_35

на

Код: Выделить всё

THREAD_LIB = -l boost_thread-gcc42-mt-1_35

и прилинковал. В манах нигде не нашёл, что приставку lib нужно убирать с имени файла (имя либы - libboost_thread-gcc42-mt-1_35.so), если кто знает, где это написано, ткните пальцем
Спасибо сказали:
Аватара пользователя
JackYF
Сообщения: 129
ОС: Debian GNU/Linux

Re: boost::thread lib

Сообщение JackYF »

man ld :)
"В природе не существует инструмента, машины или устройства, по силе и виртуозности сравнимого с человеческой рукой."
В. Г. Бэнхэм.
---
Ваяю "нелинейный" клавиатурный тренажёр для GNU/Linux - nlkt.
Спасибо сказали: