On 8/29/2018 6:03 PM, Peter Dimov via Boost wrote:
Robert Ramey wrote:
This is all irrelevant anyway because we don't ship binaries except on > Windows where we don't have a problem with them.
Hmmm - we ship binaries I presume in the form of DLLS and *.lib files. Which -std version are these compiled with?
The compiler default. MSVC versions before 2015 didn't have -std at all, for 2015/2017 the default is C++14.
This is the command from a new Console project in VS 2017, 15.8.1: /JMC /permissive- /Yu"pch.h" /GS /W3 /Zc:wchar_t /ZI /Gm- /Od /sdl /Fd"x64\Debug\vc141.pdb" /Zc:inline /fp:precise /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /FC /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\DefaultConsPjBoostTest.pch" /diagnostics:classic Command from a new Static Library project in VS 2017, 15.8.1: /JMC /permissive- /Yu"stdafx.h" /GS /W3 /Zc:wchar_t /ZI /Gm- /Od /sdl /Fd"x64\Debug\StaticLibMSForPjBoost.pdb" /Zc:inline /fp:precise /D "_DEBUG" /D "_LIB" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /FC /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\StaticLibMSForPjBoost.pch" /diagnostics:classic The "default" does not set the /std option. Where does the Visual Studio Team document the default C++ standard used within each Visual Studio revision? --Robert
Doesn't that create a number of problems? Weren't you the one who pointed this out?
Most MSVC users don't change the default, and for those who use C++17, there aren't (yet) any problems because very few libraries (yet) change their ABI for C++17. The main dividing line is between 03 and 11, a secondary one exists between 11 and 14.
C++14 is a very good ABI default. >
Linux binaries are shipped by the distros, not us.
Hmmm - same question as above? if the binaries are compiled with one -std version but the user links in via static or dynamic link with a different -std version won't that create problems?
It very well might, but we can do nothing about it. Most new distros ought to use the default C++14, which is the most compatible one.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost