Visual-studio – Is Visual-C++-2017 binary compatible with VC++-2015

visual c++visual studiovisual-c++-2015visual-c++-2017visual-studio-2017

Steve tells me that VC 2015 and VC 2017 are actually (gonna be) binary compatible.

I found zero info wrt. this in the release notes for 2017 (RC) – or pretty much anywhere for that matter, so here goes:

  • Is a C++ (C++ interface) DLL built with VC++-2017 binary compatible with a DLL built by VC++-2015?
  • Do 2017 and 2015 use the same (dynamic) runtime library?
  • If so, what, if any, is the runtime difference between Platform Toolset Visual Studio 2017 (v141) and Visual Studio 2015 (v140)? (*)

(*): Yeah, I actually went ahead and installed the 2017 RC, and from what I can see on the surface, at least the identical MSVCRT is used, that is msvcp140.dll and vcruntime140.dll (despite the platform toolset being called "v141".

Best Answer

Yes, the 141 and 140 libraries are almost identical. The version was bumped for a side-by-side issue. The v140 toolset in VisualC++ 2015 and v141 toolset in VC++ 2017 are binary compatible.

Related Topic