25

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

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

4

2 回答 2

37

出色地...

第一个有趣的事情是-mt名称中的修饰符表示该库可以用于多线程。这可能会让我们相信boost_thread(没有这个修饰符)可能是多线程不安全的......

但真正的事情是(如在我自己的 Ubuntu 10.04 盒子上看到的),boost_thread是一个指向 的软链接boost_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

于 2010-06-13T10:14:29.567 回答
9

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

于 2010-06-13T10:27:02.233 回答