【问题标题】:Boost.Thread Linking - boost_thread vs. boost_thread-mtBoost.Thread 链接 - boost_thread 与 boost_thread-mt
【发布时间】:2011-03-03 04:27:05
【问题描述】:

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

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

【问题讨论】:

  • 为什么要构建 1.34.1 而不是 1.43.1?
  • @DeadMG:因为这是 Ubuntu 8.04 附带的,我没有编译和安装更新版本的选项。

标签: ubuntu g++ linker boost-thread


【解决方案1】:

嗯……

第一个有趣的是,名称中的-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 的软链接

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 2012-09-06
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    相关资源
    最近更新 更多