25

It's not clear to me what linking options exist for the Boost.Thread 1.34.1 library. I'm on Ubuntu 8.04 and I've found that when using either boost_thread or boost_thread-mt during linking both compile and run, but I don't see any documentation on these or any other linking options in above link.

What Boost.Thread linking options are available and what do they mean?

Robert S. Barnes
  • 39,711
  • 30
  • 131
  • 179

2 Answers2

37

Well...

The first amusing thing is that the -mt modifier in the name is to indicate the library is Ok for multithreading. Which could lead us to believe that boost_thread (without this modifier) could be multithread-unsafe...

But the real thing is that (as seen on my own Ubuntu 10.04 box), boost_thread is a soft link to boost_thread-mt, which means the two are one and the same.

If you want to verify it, you can open a console on your ubuntu (make the console fullscreen because the names are long), then type:

cd /usr/lib

to move to the directory where the Boost libraries are. And then:

ls -l ./libboost_thread*

Which will list all the files starting with libboost_thread, with additionnal information. The result will be something like:

[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a

As you can see, libboost_thread.a is a static library, and libboost_thread-mt.a is a soft link to libboost_thread.a

paercebal
  • 81,378
  • 38
  • 130
  • 159
9

For a detailed reference of boost library naming scheme, see: http://www.boost.org/doc/libs/release/more/getting_started/unix-variants.html#library-naming

CharlesB
  • 86,532
  • 28
  • 194
  • 218