You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# C++ binary compatibility between Visual Studio 2015 and Visual Studio 2019
14
11
15
-
In Visual Studio 2013 and earlier, binary compatibility isn't guaranteed between object files (OBJs), static libraries (LIBs), dynamic libraries (DLLs), and executables (EXEs) that were built by different versions of the compiler toolset and runtime libraries.
12
+
In Microsoft Visual Studio 2013 and earlier, binary compatibility isn't guaranteed between object files (OBJs), static libraries (LIBs), dynamic libraries (DLLs), and executables (EXEs) that were built by using different versions of the compiler toolset and runtime libraries.
16
13
17
14
In Visual Studio 2015 and later, the C++ toolset major number is 14 (v140 for Visual Studio 2015, v141 for Visual Studio 2017, and v142 for Visual Studio 2019). This numbering reflects the fact that both the runtime libraries and the applications compiled with any of these versions of the compiler are binary-compatible. Therefore, if you have a third-party library that was built with Visual Studio 2015, you don't have to recompile it in order to consume it from an application that was built with Visual Studio 2017 or Visual Studio 2019.
18
15
19
16
The only exception to this rule is that static libraries or object files that are compiled with the `/GL` compiler switch are *not* binary-compatible.
20
17
21
18
When you mix binaries built with different supported versions of the Microsoft C++ (MSVC) toolset, the Visual C++ redistributable package that your application runs on can't be older than any of the toolset versions used to build your app or any libraries it consumes.
22
19
23
-
## Upgrade Visual C++ redistributable package from Visual Studio 2015 or 2017 to Visual Studio 2019
20
+
## Upgrade Microsoft Visual C++ Redistributable from Visual Studio 2015 or 2017 to Visual Studio 2019
24
21
25
-
Because we have preserved binary compatibility and kept the major version (14) the same for the Visual C++ redistributable package for Visual Studio 2015, 2017, and 2019, only one version of the Visual C++ redistributable package can be installed from those at any one time. A newer version overwrites an older version that's already installed. If you have the Visual C++ redistributable package from Visual Studio 2015 or 2017 and then later install Visual Studio 2019, the 2019 version overwrites the older version. Because we make sure that the latest version has all the newest features and bug fixes (including security fixes), we always recommend that you upgrade to the latest available version.
22
+
Because we have preserved binary compatibility and kept the major version (14) the same for Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, and 2019, only one version of the Visual C++ Redistributable can be installed from those at any one time. A newer version overwrites an older version that's already installed. If you have the Visual C++ Redistributable from Visual Studio 2015 or 2017 and then later install Visual Studio 2019, the 2019 version overwrites the older version. Because we make sure that the latest version has all the newest features and bug fixes (including security fixes), we always recommend that you upgrade to the latest available version.
26
23
27
-
Similarly, we don't let you install an older version of the Visual C++ redistributable package on a machine where a newer version is already installed. Installing the Visual C++ redistributable package from Visual Studio 2015 or 2017 on a machine that already has the 2019 version triggers an installation failure. The error resembles the following:
24
+
Similarly, we don't let you install an older version of the Visual C++ Redistributable on a machine where a newer version is already installed. Installing the Visual C++ Redistributable from Visual Studio 2015 or 2017 on a machine that already has the 2019 version triggers an installation failure. The error resembles the following:
28
25
29
26
```
30
27
*0x80070666 - Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.*.
@@ -35,4 +32,4 @@ This error is by design. We recommend keeping the newest version installed.
35
32
## See also
36
33
37
34
*[Visual C++ change history](../porting/visual-cpp-change-history-2003-2015.md)
38
-
*[The latest supported Visual C++ redistributable downloads](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
35
+
*[The latest supported Visual C++ Redistributable downloads](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
0 commit comments