Open frederick-vs-ja opened 2 weeks ago
Hi @frederick-vs-ja this issue is also being tracked in #769. None of us has actually gotten around to progressing on it so far.
need to touch 500+
I believe we are generally aware of this and still consider the request to be reasonable.
I think we just need to discuss:
Cc: @jzmaddock and @mborland and @NAThompson
Currently MSVC STL builds Boost.Math into its static library, which cause the static library contains non-_Uglified linking symbols and causes non-conforming linking behavior. See microsoft/STL#362.
I'm trying to resolve this in Boost.Math by adding the
BOOST_MATH_NAMESPACE
macroand then replace every occurrence of
math
which is a namespace withBOOST_MATH_NAMESPACE
.With the changes above, MSVC STL's
special_math.cpp
can defineBOOST_MATH_NAMESPACE
as_Math
(or some other _Uglified identifier, e.g.__math__
) before including<boost/math/*>
and then use::boost::BOOST_MATH_NAMESPACE::*
to get rid of non-_Uglified symbols.But the changes need to touch 500+ files in Boost.Math and make maintenance a bit harder (every namespace
math
should be spelt asBOOST_MATH_NAMESPACE
later). Not sure whether this approach is OK.