sorin sorin - 1 month ago 17
C++ Question

How can I decode the boost library naming?

I tried to find out that

means in boost library name and I only found two other people looking for the same thing.

I suppose it should be a place where this is clearly documented and I would like to find it.

  • mt
    - multitheaded, get it with
    bjam threading=multi

  • s
    bjam runtime-link=static

  • g
    - using debug versions of the standard and runtime support libraries. what bjam switch???

  • d
    - debug
    bjam variant=debug


How do I control what
switches controls the above variants? In fact the only one that I wasn't able to identify is the


See Boost getting started windows section 6.3 naming and section 6.1 on Unix naming

The ones that deal with -mt and d are

-mt Threading tag: indicates that the library was built with multithreading support enabled. Libraries built without multithreading support can be identified by the absence of `-mt`.  

-d ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag as listed in this table:
  Key   Use this library when (Boost.Build option)
  s     linking statically to the C++ standard library 
        and compiler runtime support libraries.
  g     using debug versions of the standard and runtime support libraries. 
  y     using a special debug build of Python.
  d     building a debug version of your code.
  p     using the STLPort standard library rather than
        the default one supplied with your compiler.