Issues with building Boost.Math into a standard library implementation
- Langage dominant
- C++
- Étoiles
- 374
- Forks
- 264
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 17
Description
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
```C++
#ifndef BOOST_MATH_NAMESPACE
#define BOOST_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`](https://github.com/microsoft/STL/blob/62205ab155d093e71dd9588a78f02c5396c3c14b/stl/src/special_math.cpp) can define `BOOST_MATH_NAMESPACE` as `_Math` (or some other _Uglified identifier, e.g. `__math__`) before including `` 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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.