Увеличить библиотеки, связывающие проблемы
-
27-10-2019 - |
Вопрос
Я сталкиваюсь с несколькими проблемами, связывая с библиотеками 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.
Не связан с StackOverflow