Skip to content

Commit aae8701

Browse files
author
mikeblome
committed
a few more tweaks
1 parent d0a0581 commit aae8701

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

docs/porting/binary-compat-2015-2017.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ ms.assetid: 591580f6-3181-4bbe-8ac3-f4fbaca949e6
88

99
In Visual Studio 2013 and earlier, binary compatibility between object files (OBJs), static libraries (LIBs), dynamic libraries (DLLs), and executables (EXEs) built by using different versions of the compiler toolset and runtime libraries was not guaranteed.
1010

11-
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 reflects the fact that both the runtime libraries and the applications compiled with any of these versions of the compiler are binary compatible. This means that if you have 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 is built with Visual Studio 2017 or Visual Studio 2019.
11+
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 reflects the fact that both the runtime libraries and the applications compiled with any of these versions of the compiler are binary-compatible. This means that if you have 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 is built with Visual Studio 2017 or Visual Studio 2019.
1212

13-
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.
13+
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.
1414

15-
When you mix binaries built with different supported versions of the MSVC toolset, the Visual C++ redistributable that your application runs on cannot be older than any of the toolset versions used to build your app or any libraries it consumes.
15+
When you mix binaries built with different supported versions of the MSVC toolset, the Visual C++ redistributable that your application runs on cannot be older than any of the toolset versions used to build your app or any libraries it consumes.
1616

1717
## Upgrade Microsoft Visual C++ Redistributable from Visual Studio 2015 or 2017 to Visual Studio 2019
1818

docs/porting/build-system-changes.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
22
title: "VCBuild vs. MSBuild"
3+
description: "The VIsual Studio C++ build system changed from VCBuild to MSBuild in Visual Studio 2010."
34
ms.date: "10/25/2019"
45
helpviewer_keywords: ["Build system changes, project file (.vcxprog)", "Build system changes, custom build rules", "Build system changes, MSBuild", "MSBuild, build system changes", "Build system changes, .vsprops", "Build system changes, $(Inherit)", "Build system changes, $(NoInherit)"]
56
ms.assetid: e564d95f-a6cc-4d97-b57e-1a71daf66f4a
67
---
7-
# VCBuild vs. MSBuild: Build System Changes in Visual Studio 2010
8+
# VCBuild vs. MSBuild: Build system changes in Visual Studio 2010
89

910
The MSBuild system for C++ projects was introduced in Visual Studio 2010. In Visual Studio 2008 and earlier releases, the VCBuild system was used. Certain file types and concepts that depended on VCBuild either do not exist or are represented differently in MSBuild. This document discusses the differences in the current build system. To convert a Visual Studio 2008 project to MSBuild, you must use Visual Studio 2010. After the project is converted, you should use the latest version of Visual Studio to upgrade the to the current IDE and compiler toolset. For more information, including how to obtain Visual Studio 2010, see [Instructions for Visual Studio 2008](use-native-multi-targeting.md#instructions-for-visual-studio-2008).
1011

docs/porting/porting-third-party-libraries.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
---
22
title: "Porting Third-Party Libraries"
3-
ms.date: "01/10/2017"
3+
ms.date: "10/29/2019"
44
helpviewer_keywords: ["3rd-party libraries", "vspkg"]
55
ms.assetid: b055ed20-8a9e-45b2-ac2a-e3d94271c009
66
---
77
# Porting third-party libraries
88

9-
When you upgrade a project to the current version of Visual C++, you also have to upgrade any libraries that the project uses, so that the library and your project are built with the same version and flavor of the compiler. (For more information, see [Overview of potential upgrade issues](overview-of-potential-upgrade-issues-visual-cpp.md)).
9+
When you upgrade a project from Visual Studio 2013 or earlier to the current version of Visual C++, you also have to upgrade any libraries that the project uses, so that the library and your project are built with the same version and flavor of the compiler. If you do not have access to the library source code, and the library is not available through vcpkg, then you must obtain an updated binary from the library vendor. (For more information, see [Overview of potential upgrade issues](overview-of-potential-upgrade-issues-visual-cpp.md)).
1010

11-
## Introducing vcpkg
11+
When upgrading an application from Visual Studio 2015 or Visual Studio 2017 to Visual Studio 2019, it isn't necessary to upgrade dependencies because the code generated by those three versions is binary-compatible. For more information, see [C++ binary compatibility between Visual Studio 2015 and Visual Studio 2019](binary-compat-2015-2017.md).
1212

13-
In the past, finding and upgrading 3rd party libraries was sometimes a non-trivial task. To make it easier to acquire and rebuild C++ 3rd party open source libraries, the Visual C++ team has created a command-line tool called the **VC++ Packaging Tool** or **vcpkg**. Vcpkg has a searchable catalog of many popular C++ open-source libraries. You can install any library in the catalog directly from the vcpkg command line. When you install a library, Vcpkg creates a directory tree on your machine and adds the .h, the .lib and binaries in this folder. You can use this folder in your compilation command line, or integrate it into Visual Studio 2015 or later by using the vcpkg integrate install command. After you integrate a library location, Visual Studio can find it and add it to any new project that you create. To use a library, just `#include` it, and Visual Studio will automatically add the .lib path to your project settings and copy the dll to your solution folder. For more information, see [vcpkg: A package manager for C++](../build/vcpkg.md).
13+
## vcpkg for open-source libraries
1414

15-
## Reporting issues
15+
In the past, finding and upgrading 3rd party libraries was sometimes a non-trivial task. To make it easier to acquire and rebuild C++ 3rd party open-source libraries, the Visual C++ team has created a command-line tool called the **VC++ Packaging Tool** or **vcpkg**. Vcpkg has a searchable catalog of many popular C++ open-source libraries. You can install any library in the catalog directly from the vcpkg command line. When you install a library, Vcpkg creates a directory tree on your machine and adds the .h, the .lib and binaries in this folder. You can use this folder in your compilation command line, or integrate it into Visual Studio 2015 or later by using the vcpkg integrate install command. After you integrate a library location, Visual Studio can find it and add it to any new project that you create. To use a library, just `#include` it, and Visual Studio will automatically add the .lib path to your project settings and copy the dll to your solution folder. For more information, see [vcpkg: A package manager for C++](../build/vcpkg.md).
1616

17-
If your library is not present in **vcpkg** catalog, you can open an issue on the [GitHub repo](https://github.com/Microsoft/vcpkg/issues) where the community and the Visual C++ team can see it and potentially create the port file for this library.
17+
## Reporting issues
1818

19-
For proprietary 3rd party libraries (non-open source) we recommend that you contact the library provider. However, we are interested to know of any proprietary libs you are using and block you, let us know which one you depend on (you can contact us at vcupgrade@microsoft.com).
19+
If your open-source library is not present in **vcpkg** catalog, you can open an issue on the [GitHub repo](https://github.com/Microsoft/vcpkg/issues) where the community and the Visual C++ team can see it and potentially create the port file for this library.
2020

2121
## See also
2222

docs/porting/upgrading-projects-from-earlier-versions-of-visual-cpp.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.date: "10/29/2019"
55
helpviewer_keywords: ["32-bit code porting", "upgrading Visual C++ applications, 32-bit code"]
66
ms.assetid: 18cdacaa-4742-43db-9e4c-2d9e73d8cc84
77
---
8-
# Upgrading C++ projects from earlier versions of Visual Studio
8+
# Upgrade C++ projects from earlier versions of Visual Studio
99

1010
To upgrade a project created in Visual Studio 2008 or earlier, you must first use Visual Studio 2010 to convert the project from the VCBuild format (.vcproj) to the MSBuild format (.vcxproj). For more information, see [Instructions for Visual Studio 2008](use-native-multi-targeting.md#instructions-for-visual-studio-2008).
1111

@@ -33,7 +33,7 @@ When you upgrade a project, you get an upgrade report, which is also saved in yo
3333

3434
9. Errors that were introduced in the tools. If you encounter an issue, report it to the Visual C++ team through your normal support channels or by using the [Visual Studio C++ Developer Community](https://developercommunity.visualstudio.com/spaces/62/index.html) page.
3535

36-
Some upgraded projects and solutions can be built successfully without modification. However, for older projects, it likely that it will require changes to project settings as well as source code. The C++ code editor displays red squiggles under the errors, and green squiggles to indicate warnings flagged by the default code analysis tools. There is no single correct way to go about fixing these, but some kind of phased approach is recommended. Before starting, review [Overview of potential upgrade issues](../porting/overview-of-potential-upgrade-issues-visual-cpp.md) for more information on many kinds of common errors.
36+
Some upgraded projects and solutions can be built successfully without modification. However, most projects will likely require changes to project settings as well as source code. There is no single correct way to go about fixing these, but some kind of phased approach is recommended. Before starting, review [Overview of potential upgrade issues](../porting/overview-of-potential-upgrade-issues-visual-cpp.md) for more information on many kinds of common errors.
3737

3838
1. Set the Platform Toolset, C++ Language Standard, and Windows SDK version (if applicable) to the desired versions. (**Project** > **Properties** > **Configuration Properties** > **General**)
3939
1. If you have a lot of errors, turn off the [permissive-](../build/permissive-standards-conformance.md) option (**Project** > **Properties** > **Configuration Properties** > **C/C++** > **Language**) and [code analysis](/visualstudio/code-quality/code-analysis-for-c-cpp-overview) (**Project** > **Properties** > **Configuration Properties** > **Code Analysis**) option temporarily to reduce the error count.
@@ -61,5 +61,5 @@ For hard-to-fix errors, try searching or posting a question on Stack Overflow or
6161

6262
[What's New for Visual C++ in Visual Studio](../overview/what-s-new-for-visual-cpp-in-visual-studio.md)<br/>
6363
[Visual C++ change history 2003 - 2015](../porting/visual-cpp-change-history-2003-2015.md)<br/>
64-
[Nonstandard Behavior](../cpp/nonstandard-behavior.md)
64+
[Nonstandard Behavior](../cpp/nonstandard-behavior.md)<br/>
6565
[Port data applications](../data/data-access-programming-mfc-atl.md)<br/>

docs/porting/visual-cpp-porting-and-upgrading-guide.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ For more information, see [Use native multi-targeting in Visual Studio to build
5353

5454
## See also
5555

56-
[C++ in Visual Studio](../overview/visual-cpp-in-visual-studio.md)
57-
[What's New for The C++ compiler in Visual Studio](../overview/what-s-new-for-visual-cpp-in-visual-studio.md)
58-
[C++ conformance improvements in Visual Studio](../overview/cpp-conformance-improvements.md)
56+
[C++ in Visual Studio](../overview/visual-cpp-in-visual-studio.md)<br/>
57+
[What's New for The C++ compiler in Visual Studio](../overview/what-s-new-for-visual-cpp-in-visual-studio.md)<br/>
58+
[C++ conformance improvements in Visual Studio](../overview/cpp-conformance-improvements.md)<br/>

0 commit comments

Comments
 (0)