libboost_thread中缺少函数?

时间:2017-07-05 15:30:52

标签: c++ linux boost

继续尝试解决我的问题here我想弄清楚joinstart_thread~thread应该来自哪里,但我不能看到它们存在于libboost_thread库中(这是我从源代码构建和安装的版本1.64.0),例如,检查join函数是否存在:

$ nm --demangle /usr/local/lib/libboost_thread.so | grep join
             U pthread_join@@GLIBC_2.2.5
0000000000011e00 T boost::thread::join_noexcept()
0000000000011f90 T boost::thread::do_try_join_until_noexcept(timespec const&, bool&)
0000000000010dc0 T boost::thread::joinable() const

我可以看到有一个未定义的符号pthread_join,但我的理解是join库本身应该有一个单独的libboost_thread函数。

我检查了我们的另一台Ubuntu 14.04机器上安装的几个不同版本,并得到了几乎相同的结果:

$ nm --demangle /usr/local/boost-1.60.0/lib/libboost_thread.so | grep join
                 U pthread_join@@GLIBC_2.2.5
0000000000012070 T boost::thread::join_noexcept()
0000000000012200 T boost::thread::do_try_join_until_noexcept(timespec const&, bool&)
0000000000010ed0 T boost::thread::joinable() const
$ nm --demangle /home/ubuntu/src/anaconda2/lib/libboost_thread.so.1.61.0 | grep join
                 U pthread_join@@GLIBC_2.2.5
0000000000014140 T boost::thread::join_noexcept()
00000000000144e0 T boost::thread::do_try_join_until_noexcept(timespec const&, bool&)
0000000000010870 T boost::thread::joinable() const
$ nm --demangle /home/ubuntu/src/anaconda3/lib/libboost_thread.so.1.61.0 | grep join
                 U pthread_join@@GLIBC_2.2.5
0000000000014140 T boost::thread::join_noexcept()
00000000000144e0 T boost::thread::do_try_join_until_noexcept(timespec const&, bool&)
0000000000010870 T boost::thread::joinable() const

0 个答案:

没有答案