You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 macro
#ifndef BOOST_MATH_NAMESPACE
#defineBOOST_MATH_NAMESPACE math
#endif
and then replace every occurrence of math which is a namespace with BOOST_MATH_NAMESPACE.
With the changes above, MSVC STL's special_math.cpp can define BOOST_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 as BOOST_MATH_NAMESPACE later). Not sure whether this approach is OK.
The text was updated successfully, but these errors were encountered:
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.The text was updated successfully, but these errors were encountered: