我正在尝试为Centos编译最新的Boost c ++库。我已经使用了bjam install,它已将库放在/ usr / lib和/ usr / lib64中。
问题是我需要-mt变体才能运行特定的应用程序。我在文档中无法理解如何创建多线程变体。 :(
请给我一个提示!
谢谢!
答案 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/