Boost Libraries Linking Issues
-
27-10-2019 - |
Question
I am facing few problems while linking with boost libraries. I am trying to execute simple timer program
But when I execute the program getting below errors
~/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've included _I ~/boost_1_48_0/ -L ~/boost_1_48_0/stage/lib -lboost-system
Any quick pointers on this?
Solution
Did you remember to specify -pthread
as well? From GCC manpage:
-pthread Add support for multithreading using the POSIX threads library. This option sets flags for both the preprocessor and linker.
It is required with code that uses POSIX threads.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow