Boost.Thread链接 - boost_thread与boost_thread-mt

Rob*_*nes 25 ubuntu linker g++ boost-thread

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

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

pae*_*bal 36

好...

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

但真实的是(在我自己的Ubuntu 10.04盒子上看到的)boost_thread是一个软链接boost_thread-mt,这意味着两者是同一个.

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

cd /usr/lib
Run Code Online (Sandbox Code Playgroud)

移动到Boost库所在的目录.然后:

ls -l ./libboost_thread*
Run Code Online (Sandbox Code Playgroud)

其中列出了所有libboost_thread带有附加信息的文件.结果将是这样的:

[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a
Run Code Online (Sandbox Code Playgroud)

如您所见,libboost_thread.a是一个静态库,并且libboost_thread-mt.a是一个软链接libboost_thread.a