
On Sun, 15 Oct 2017, Niall Douglas via Boost wrote:
So personally I stay inclined that defining BOOST_ERROR_CODE_HEADER_ONLY+BOOST_SYSTEM_NO_DEPRECATED would be a better default in the future. :D
Requiring use from a DLL wholly prevents misoperation on Windows and Mac, unless you mix Boost versions. That's why those macros are off by default and should stay that way.
It would be great to avoid talking about the 2 macros at the same time, since they do not do the same thing. BOOST_SYSTEM_NO_DEPRECATED mostly removes some old synonyms, which otherwise cause #include <boost/system/error_code.hpp> int main(){} to require linking with boost_system. This happens to a lot of users, where the file is included indirectly through other boost packages. If it really has the same dangers as BOOST_ERROR_CODE_HEADER_ONLY (are you sure about that? Is it about boost::throws?), then it should be split into 2 macros, where one only removes the old synonyms and can be enabled by default. -- Marc Glisse