Boost.Thread链接 – boost_thread与boost_thread-mt

我不清楚Boost.Thread 1.34.1库有哪些链接选项。 我在Ubuntu 8.04上,我发现在链接编译和运行时使用boost_threadboost_thread-mt ,但在上面的链接中没有看到这些或任何其他链接选项的任何文档。

什么Boost.Thread链接选项可用,它们是什么意思?

好…

第一个有趣的事情是名称中的-mt修饰符是为了表明多线程库是正确的。 这可能导致我们相信, boost_thread (没有这个修饰符)可能是多线程不安全的…

但真正的事情是(如我自己的Ubuntu 10.04盒子上看到的), boost_threadboost_thread-mt一个软链接,这意味着两者是相同的。

如果你想验证它,你可以在你的ubuntu上打开一个控制台(使控制台全屏,因为名字很长),然后输入:

 cd /usr/lib 

移动到Boost库所在的目录。 接着:

 ls -l ./libboost_thread* 

其中将列出以libboost_thread开头的所有文件以及其他信息。 结果会是这样的:

 [...] ./libboost_thread.a [...] ./libboost_thread-mt.a -> libboost_thread.a 

如您所见, libboost_thread.a是一个静态库,而libboost_thread-mt.a是一个到libboost_thread.a的软链接

有关boost库命名方案的详细参考,请参阅: http : //www.boost.org/doc/libs/release/more/getting_started/unix-variants.html#library-naming