Oops. The problem was easily sorted and was actually a _DEBUG vs. NDEBUG mismatch...
I'm using C++Builder 11.1 with Clang 64-bit compiler.
I have a 64-bit application and a static library both built using the above.
When I add the static library to the app and link, I get warnings like this:
[ilink64 Warning] Warning: Public symbol 'boost::filesystem::codecvt_error_category()'
defined in both
module C:\...\LIBBOOST_FILESYSTEM-BCB64-MT-S-X64-1_70.A|codecvt_error_category.o
and C:\...\LIBBOOST_FILESYSTEM-BCB64-MT-SD-X64-1_70.A|codecvt_error_category.o
It looks like the app must be requiring the non-static version of Boost, while the library is using the static one, or vice-versa, but I can't find any way of changing this in C++Builder project options.