Boost.Thread链接 - boost_thread与boost_thread-mt

时间:2010-06-13 09:45:52

标签: ubuntu g++ linker boost-thread

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

Boost.Thread链接选项有哪些,它们是什么意思?

2 个答案:

答案 0 :(得分:35)

嗯...

第一个有趣的事情是名称中的-mt修饰符用于指示库是多线程的Ok。这可能会让我们相信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的软链接

答案 1 :(得分:8)