Ubuntu Boost.Thread链接-Boost_Thread与Boost_Thread-mt
我不清楚图书馆有哪些链接选项。我在Ubuntu 8.04上,我发现在编译和运行链接过程中使用Ubuntu Boost.Thread链接-Boost_Thread与Boost_Thread-mt,ubuntu,g++,linker,boost-thread,Ubuntu,G++,Linker,Boost Thread,我不清楚图书馆有哪些链接选项。我在Ubuntu 8.04上,我发现在编译和运行链接过程中使用boost_-thread或boost_-thread-mt时,都会出现这种情况,但我在上面的链接中没有看到任何关于这些或任何其他链接选项的文档 有哪些Boost.Thread链接选项可用?它们意味着什么?嗯 第一件有趣的事情是,名称中的-mt修饰符表示库可以进行多线程处理。这可能使我们相信,boost\u thread(没有这个修饰符)可能是多线程不安全的 但真正的问题是(在我自己的Ubuntu10.0
boost_-thread
或boost_-thread-mt
时,都会出现这种情况,但我在上面的链接中没有看到任何关于这些或任何其他链接选项的文档
有哪些Boost.Thread链接选项可用?它们意味着什么?嗯
第一件有趣的事情是,名称中的-mt
修饰符表示库可以进行多线程处理。这可能使我们相信,boost\u thread
(没有这个修饰符)可能是多线程不安全的
但真正的问题是(在我自己的Ubuntu10.04上看到),boost_-thread
是一个指向boost_-thread-mt
的软链接,这意味着两者是一体的
如果你想验证它,你可以在你的ubuntu上打开一个控制台(使控制台全屏显示,因为名称很长),然后键入:
cd /usr/lib
移动到Boost库所在的目录。然后:
ls -l ./libboost_thread*
它将列出以libboost\u-thread
开头的所有文件以及其他信息。结果将类似于:
[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a
如您所见,
libboost\u thread.a
是一个静态库,libboost\u thread-mt.a
是指向libboost\u thread.a
的软链接,以获取boost库命名方案的详细参考,请参阅:为什么要构建1.34.1而不是1.43.1?@DeadMG:因为这是Ubuntu 8.04附带的功能,我没有编译和安装新版本的选项。