如何进行Boost多线程处理?

时间:2010-05-01 22:57:55

标签: c++ boost

我正在尝试为Centos编译最新的Boost c ++库。我已经使用了bjam install,它已将库放在/ usr / lib和/ usr / lib64中。

问题是我需要-mt变体才能运行特定的应用程序。我在文档中无法理解如何创建多线程变体。 :(

请给我一个提示!

谢谢!

2 个答案:

答案 0 :(得分:4)

-mt只是特定于分发的扩展。 编辑配置文件或创建libboost_thread的符号链接

andrey@localhost:~$ ls -l /usr/lib/libboost_thread*
-rw-r--r-- 1 root root 174308 2010-01-25 10:36 /usr/lib/libboost_thread.a
lrwxrwxrwx 1 root root     41 2009-11-04 10:10 /usr/lib/libboost_thread-gcc41-mt-1_34_1.so.1.34.1 -> libboost_thread-gcc42-mt-1_34_1.so.1.34.1
-rw-r--r-- 1 root root  49912 2008-11-01 02:55 /usr/lib/libboost_thread-gcc42-mt-1_34_1.so.1.34.1
lrwxrwxrwx 1 root root     17 2010-01-27 18:32 /usr/lib/libboost_thread-mt.a -> libboost_thread.a
lrwxrwxrwx 1 root root     25 2010-01-27 18:32 /usr/lib/libboost_thread-mt.so -> libboost_thread.so.1.40.0
lrwxrwxrwx 1 root root     25 2010-01-27 18:32 /usr/lib/libboost_thread.so -> libboost_thread.so.1.40.0
-rw-r--r-- 1 root root  89392 2010-01-25 10:36 /usr/lib/libboost_thread.so.1.40.0

答案 1 :(得分:3)

您可以使用--build-type=complete选项构建boost二进制库的所有变体。例如:

bjam --build-type=complete stage

这会将所有库文件放入<your boost dir>/stage/lib/