BigSnake.NET 写道:
要装 boost 的 dev,那个 so 是没用的,要 .a 文件
wei@wei-Lenovo-G475:~$ sudo find /usr -name *boost*.a -type f
[sudo] password for wei:
/usr/lib/libboost_serialization.a
/usr/lib/libboost_thread.a
/usr/lib/libboost_date_time.a
/usr/lib/libboost_wserialization.a
wei@wei-Lenovo-G475:~/program$ g++ athread.cpp -o athread /usr/lib/libboost_thread.a
/usr/lib/libboost_thread.a(thread.o): In function `_ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_.constprop.97':
(.text+0xc8): undefined reference to `pthread_key_create'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::interruption_enabled()':
(.text+0x540): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::disable_interruption::disable_interruption()':
(.text+0x570): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::disable_interruption::disable_interruption()':
(.text+0x59f): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::disable_interruption::~disable_interruption()':
(.text+0x5c0): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::disable_interruption::~disable_interruption()':
(.text+0x5d5): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o):(.text+0x605): more undefined references to `pthread_getspecific' follow
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::start_thread()':
(.text+0x7a9): undefined reference to `pthread_create'
/usr/lib/libboost_thread.a(thread.o): In function `thread_proxy':
(.text+0x8c6): undefined reference to `pthread_setspecific'
/usr/lib/libboost_thread.a(thread.o): In function `thread_proxy':
(.text+0x8eb): undefined reference to `pthread_setspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::interruption_requested()':
(.text+0xa2a): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::detach()':
(.text+0xb9d): undefined reference to `pthread_detach'
/usr/lib/libboost_thread.a(thread.o): In function `boost::(anonymous namespace)::make_external_thread_data()':
(.text+0x124a): undefined reference to `pthread_setspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::add_thread_exit_function(boost::detail::thread_exit_function_base*)':
(.text+0x147d): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::get_id()':
(.text+0x14f2): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::interruption_point()':
(.text+0x15e1): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::join()':
(.text+0x1731): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::join()':
(.text+0x17e5): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o):(.text+0x1907): more undefined references to `pthread_getspecific' follow
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::join()':
(.text+0x1bce): undefined reference to `pthread_join'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x2256): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x22f3): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x25a7): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x2636): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::thread::timed_join(boost::posix_time::ptime const&)':
(.text+0x2716): undefined reference to `pthread_join'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::erase_tss_node(void const*)':
(.text+0x2d55): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::add_new_tss_node(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*)':
(.text+0x2db0): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)':
(.text+0x3054): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)':
(.text+0x319a): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::this_thread::sleep(boost::posix_time::ptime const&)':
(.text+0x3230): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o):(.text+0x33bd): more undefined references to `pthread_getspecific' follow
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::(anonymous namespace)::create_current_thread_tls_key()':
(.text+0x1b): undefined reference to `pthread_key_create'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::get_current_thread_data()':
(.text+0x2f4): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(thread.o): In function `boost::detail::set_current_thread_data(boost::detail::thread_data_base*)':
(.text+0x314): undefined reference to `pthread_setspecific'
/usr/lib/libboost_thread.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0x2c): undefined reference to `pthread_once'
/usr/lib/libboost_thread.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0x37): undefined reference to `pthread_getspecific'
/usr/lib/libboost_thread.a(once.o): In function `boost::detail::get_once_per_thread_epoch()':
(.text+0x67): undefined reference to `pthread_setspecific'
/usr/lib/libboost_thread.a(once.o): In function `create_epoch_tss_key':
(.text+0xb): undefined reference to `pthread_key_create'
collect2: ld 返回 1
wei@wei-Lenovo-G475:~/program$
为什么还是不行?