c++boostclanglibraries

How to build debug boost static libraries with 'clang-win' toolset?


I have a problem building debug versions of the standard and runtime support libraries using clang-win toolset (with msvc toolset everything works as expected)

Specifically I'm trying to build mt-gd variant of the lib file so I add runtime-debugging=on switch as Boost docs say but to no avail
Here's what I get:

1) b2 toolset=msvc-14.1 address-model=64 --with-filesystem variant=release
generates libboost_filesystem-vc141-mt-x64-1_72.lib [correct]

2) b2 toolset=msvc-14.1 address-model=64 --with-filesystem runtime-debugging=on variant=debug
generates libboost_filesystem-vc141-mt-gd-x64-1_72.lib [correct]

3) b2 toolset=clang-win address-model=64 --with-filesystem variant=release
generates libboost_filesystem-clangw9-mt-x64-1_72.lib [correct]

4) b2 toolset=clang-win address-model=64 --with-filesystem runtime-debugging=on variant=debug
generates libboost_filesystem-clangw9-mt-d-x64-1_72.lib [incorrect]
Should be libboost_filesystem-clangw9-mt-gd-x64-1_72.lib

Same behavior for boost 1.67, boost 1.68 and boost 1.71
Anybody have an idea what's wrong?

Thanks


Solution

  • The issue appears to be solved in version 1.74. I tried running

    b2 toolset=clang-win address-model=64 variant=debug --with-filesystem
    

    producing the file: stage\lib\libboost_filesystem-clangw9-mt-gd-x64-1_74.lib, as expected.

    If you have to stick to the boost version, for me simply renaming the library files did also work. Alternatively, you can skip the auto-linking and explicitly specify the library by defining the preprocessor macro BOOST_ALL_NO_LIB.