introduction

MSVC binaries are not ABI compatible across major compiler versions.

Visual Studio version Toolset version MSVC compiler version (_MSC_VER)
VS 2019 v142 19.20 – 19.29
VS 2022 v143 19.30 – 19.49+
Folder name Visual Studio version Compiler version
vc10 Visual Studio 2010 MSVC 10.0
vc11 Visual Studio 2012 MSVC 11.0
vc12 Visual Studio 2013 MSVC 12.0
vc14 Visual Studio 2015 MSVC 14.0
vc15 Visual Studio 2017 MSVC 14.1
vc16 Visual Studio 2019 MSVC 14.2
vc17 Visual Studio 2022 MSVC 14.3

compile

kit selection

Kit name Meaning
amd64 Compile on x64 machine → produce x64 program
amd64_x86 Compile on x64 machine → produce 32-bit x86 program
amd64_arm Compile on x64 machine → produce ARM (32-bit) program
amd64_arm64 Compile on x64 machine → produce ARM64 program
x86 Compile on 32-bit host → produce x86 program
x86_amd64 Compile on 32-bit host → produce x64 program

CMakeSettings.json

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Visual Studio 17 2022 Win64",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "cmakeCommandArgs": "-A x64 -DCMAKE_CXX_FLAGS=/DMY_EXPORT"
    }
  ]
}

setting

display

set the language in Visual Studio
  1. Open Visual Studio.
  2. Go to Tools → Options.
  3. Navigate to: Environment → International Settings