2012-03-05 7 views
3

Я пытаюсь научиться чему-то с более мощными библиотеками, но у меня возникает проблема, когда я пытаюсь скомпилировать что-то, что включает boost :: threads. я получаю сообщение об ошибке во время связывания, это сообщение:Linking boost :: thread

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lboost-thread 

Но это странно, потому что это происходит только тогда, когда я компилирую с обычным пользователем, используя корень я могу компилировать без проблем.

Заранее спасибо.

+1

Какова была ваша команда? Обычно вам нужно поставить '-L [/ path/to/boost]' где-то там, чтобы он знал, где его найти. –

+0

Последние версии boost потребуют использования «-lboost_thread» – dsign

+0

Это команда, которую я запускал: g ++ -L/usr/local/boost_1_48_0/stage/lib -lboost-thread threadBoost.cpp, но работает только с корнем – alkz

ответ

1

проверку Либерал имя в наддува путь установки (по умолчанию:/USR/Lib /), если это libboost_thread.so, добавить -lboost_thread. Не забудьте указать путь к форматированию каталога с помощью -L/usr/lib/boost. Если она работает только как корень, проверьте привилегии в этом каталоге:

ls -la /usr/lib/ | grep boost 

вы должны увидеть свой логин и rw_r_ г _ (проверить у вас есть разрешение на чтение).

Если у вас есть это разрешение на директорию и на повышающего Lib, связывая с GCC может быть сделано:

g++ obj.o obj2.o -L/usr/lib -lboost_thread 

, если вы не собственные файлы или не имеют права на чтение, необходимо войти в корень и добавить их

chown -R /usr/lib <your login> 
chmod +r /usr/lib/lib*.so 
+1

Я уже проверял разрешения, но есть 0k (777), я скомпилирую с этим: g ++ -L/usr/local/boost_1_48_0/stage/lib -lboost-thread threadBoost.cpp но все же я получаю: не может найти - lboost-нить – alkz

0

Add/path/to/boost для вашей библиотеки Makefile Включите путь, и ваша ошибка исчезнет.

Другой вариант включает увеличить его в переменную LIBPATH

5

Включить

#include <boost/thread/thread.hpp> 

Другие флаги компоновщика

-lboost_system -lboost_thread-mt