Visual C++ ABI question

Jonathan Wilson 21 Reputation points
2020-09-09T09:46:08.287+00:00

I have Visual C++ 2019 community (version 16.7.3) with compiler version 19.27.29111.
I have some code compiled with Visual C++ 2015 14.0 build 23026 that uses various STL containers and classes (including std::wstring)
Can I mix the Visual C++ 2015 code with code written in Visual C++ 2019 and pass the STL containers between the 2 and have things work?
Or do I need to go back to an older version of Visual C++ in order to find one that is ABI compatible?

C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,690 questions
{count} votes

1 additional answer

Sort by: Most helpful
  1. Jonathan Wilson 21 Reputation points
    2020-09-09T13:32:48.823+00:00

    That tells me things are compatible in terms of the overall mixing of code but it doesn't say anything about specific ABI compatibility for the STL.
    Although from all the discussion on various things in https://github.com/microsoft/STL (including the "abi breaking" branch that supposedly will happen) it sounds like STL should be ABI compatible between VS 2015 and VS 2019 as well.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.