sorin sorin - 11 days ago 9
C++ Question

How can I decode the boost library naming?

I tried to find out that

gd
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



Update



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

Answer

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.
        (runtime-link=static)
  g     using debug versions of the standard and runtime support libraries. 
        (runtime-debugging=on)
  y     using a special debug build of Python.
        (python-debugging=on)
  d     building a debug version of your code.
        (variant=debug)
  p     using the STLPort standard library rather than
        the default one supplied with your compiler.
        (stdlib=stlport)