Вопрос

Я сталкиваюсь с несколькими проблемами, связывая с библиотеками Boost. Я пытаюсь выполнить Простая программа таймера

Но когда я выполняю программу, получающую ниже ошибки

~/boost_1_48_0/boost/asio/detail/impl/posix_tss_ptr.ipp:34: undefined reference to `pthread_key_create'
./timer.o: In function `~posix_tss_ptr': /~/boost_1_48_0/boost/asio/detail/posix_tss_ptr.hpp:48: undefined reference to `pthread_key_delete' 
./timer.o: In function `boost::asio::detail::posix_tss_ptr<boost::asio::detail::call_stack<boost::asio::detail::task_io_service, boost::asio::detail::task_io_service::thread_info>::context>::operator boost::asio::detail::call_stack<boost::asio::detail::task_io_service, boost::asio::detail::task_io_service::thread_info>::context*() const': ~/boost_1_48_0/boost/asio/detail/posix_tss_ptr.hpp:54: undefined reference to `pthread_getspecific'
./timer.o: In function `~posix_tss_ptr': ~/boost_1_48_0/boost/asio/detail/posix_tss_ptr.hpp:48: undefined reference to `pthread_key_delete' collect2: ld returned 1 exit status

Я включил _I ~/boost_1_48_0/ -L ~/boost_1_48_0/stage/lib -lboost-system

Какие -нибудь быстрые указатели на это?

Это было полезно?

Решение

Вы не забыли указать -pthread также? Из GCC Manpage:

   -pthread
       Add support for multithreading using the POSIX threads library.
       This option sets flags for both the preprocessor and linker.

Это требуется с кодом, который использует потоки POSIX.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top