Skip to content

Commit d0a0581

Browse files
author
mikeblome
committed
more edits for porting section
1 parent d7d2855 commit d0a0581

10 files changed

+71
-73
lines changed

docs/porting/build-system-changes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: "Build System Changes in Visual Studio 2010"
2+
title: "VCBuild vs. MSBuild"
33
ms.date: "10/25/2019"
44
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)"]
55
ms.assetid: e564d95f-a6cc-4d97-b57e-1a71daf66f4a
66
---
7-
# Build System Changes in Visual Studio 2010
7+
# VCBuild vs. MSBuild: Build System Changes in Visual Studio 2010
88

99
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).
1010

docs/porting/fix-your-dependencies-on-library-internals.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: "Fix your dependencies on library internals"
2+
title: "Fix your dependencies on C++ library internals"
33
ms.date: "05/24/2017"
44
helpviewer_keywords: ["library internals in an upgraded Visual Studio C++ project", "_Hash_seq in an upgraded Visual Studio C++ project"]
55
ms.assetid: 493e0452-6ecb-4edc-ae20-b6fce2d7d3c5
66
---
7-
# Fix your dependencies on library internals
7+
# Fix your dependencies on C++ library internals
88

99
Microsoft has published the source code for the Standard Library, most of the C Runtime Library, and other Microsoft libraries in many versions of Visual Studio. The intent is to help you understand library behavior and to debug your code. One side-effect of publishing the library source code is that some internal values, data structures, and functions are exposed, even though they are not part of the library interface. They usually have names that begin with two underscores, or an underscore followed by a capital letter, names that the C++ Standard reserves to implementations. These values, structures, and functions are implementation details that may change as the libraries evolve over time, and so we strongly recommend against taking any dependencies on them. If you do, you risk non-portable code and issues when you try to migrate your code to new versions of the libraries.
1010

@@ -68,6 +68,6 @@ inline size_t fnv1a_hash_bytes(const unsigned char * first, size_t count) {
6868
6969
## See also
7070
71-
[Upgrading Projects from Earlier Versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
71+
[Upgrading projects from earlier versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
7272
[Overview of potential upgrade issues (Visual C++)](overview-of-potential-upgrade-issues-visual-cpp.md)<br/>
7373
[Upgrade your code to the Universal CRT](upgrade-your-code-to-the-universal-crt.md)

docs/porting/floating-point-migration-issues.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ In most cases, the floating-point changes in the newest compilers and libraries
2525

2626
## See also
2727

28-
[Upgrading Projects from Earlier Versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
28+
[Upgrading projects from earlier versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
2929
[Overview of potential upgrade issues (Visual C++)](overview-of-potential-upgrade-issues-visual-cpp.md)<br/>
3030
[Visual C++ change history 2003 - 2015](visual-cpp-change-history-2003-2015.md)

docs/porting/modifying-winver-and-win32-winnt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: "Modifying WINVER and _WIN32_WINNT"
2+
title: "Update WINVER and _WIN32_WINNT"
33
ms.date: "09/04/2017"
44
helpviewer_keywords: ["WINVER in an upgraded Visual Studio C++ project", "_WIN32_WINNT in an upgraded Visual Studio C++ project"]
55
ms.assetid: 6a1f1d66-ae0e-48a7-81c3-524d8e8f3447
66
---
7-
# Modifying WINVER and _WIN32_WINNT
7+
# Update WINVER and _WIN32_WINNT
88

99
Visual C++ no longer supports targeting Windows 95, Windows 98, Windows ME, Windows NT or Windows 2000. If your **WINVER** or **_WIN32_WINNT** macros are assigned to one of these versions of Windows, you must modify the macros. When you upgrade a project that was created by using an earlier version of Visual C++, you may see compilation errors related to the **WINVER** or **_WIN32_WINNT** macros if they are assigned to a version of Windows that is no longer supported.
1010

docs/porting/overview-of-potential-upgrade-issues-visual-cpp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,5 @@ For more information, see [Porting from MBCS to Unicode](porting-guide-spy-incre
180180

181181
## See also
182182

183-
[Upgrading Projects from Earlier Versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
183+
[Upgrading projects from earlier versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
184184
[C++ conformance improvements in Visual Studio](../overview/cpp-conformance-improvements.md)

docs/porting/upgrade-your-code-to-the-universal-crt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@ Many functions were added or updated in the UCRT to improve ISO C99 conformance,
4141

4242
[Visual C++ Porting and Upgrading Guide](visual-cpp-porting-and-upgrading-guide.md)<br/>
4343
[Overview of potential upgrade issues (Visual C++)](overview-of-potential-upgrade-issues-visual-cpp.md)<br/>
44-
[Upgrading Projects from Earlier Versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
44+
[Upgrading projects from earlier versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
4545
[Visual C++ change history 2003 - 2015](visual-cpp-change-history-2003-2015.md)<br/>
4646
[C++ conformance improvements in Visual Studio](../overview/cpp-conformance-improvements.md)
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
---
2-
title: "Upgrading C++ projects from earlier versions of Visual Studio"
2+
title: "Upgrade C++ projects from earlier versions of Visual Studio"
33
description: "How to upgrade Microsoft C++ projects from older versions of Visual Studio."
4-
ms.date: "10/25/2019"
4+
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
---
88
# Upgrading C++ projects from earlier versions of Visual Studio
99

10-
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 to the MSBuild format. For more information, see [Instructions for Visual Studio 2008](use-native-multi-targeting.md#instructions-for-visual-studio-2008).
10+
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

12-
To upgrade a project created in Visual Studio 2010 or later, simply open the project in the latest version of Visual Studio. Visual Studio offers to upgrade the project to the current schema. If you choose **No**, and you have the older version of Visual Studio on your computer, you can work in the project in a newer version of Visual Studio and continue to target the older toolset. For more information, see [Use native multi-targeting in Visual Studio to build old projects](use-native-multi-targeting.md). If you choose **Yes**, then the project will be converted and cannot be converted back to the earlier version. Therefore, in upgrade scenarios, it is good practice to make a copy of the existing project and solution files.
13-
14-
If your project must continue to run on Windows XP, you can upgrade it to Visual Studio 2019, but you have to specify the toolset as v141 or earlier.
12+
To upgrade a project created in Visual Studio 2010 or later, simply open the project in the latest version of Visual Studio. Visual Studio offers to upgrade the project to the current schema. If you choose **No**, and you have the older version of Visual Studio on your computer, you can work in the project in a newer version of Visual Studio and continue to target the older toolset. For example, if your project must continue to run on Windows XP, you can upgrade it to Visual Studio 2019, but you have to specify the toolset as v141 or earlier. For more information, see [Use native multi-targeting in Visual Studio to build old projects](use-native-multi-targeting.md). If you choose **Yes**, then the project will be converted and cannot be converted back to the earlier version. Therefore, in upgrade scenarios, it is good practice to make a copy of the existing project and solution files.
1513

1614
## Upgrade reports
1715

@@ -35,31 +33,33 @@ When you upgrade a project, you get an upgrade report, which is also saved in yo
3533

3634
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.
3735

38-
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. See [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, 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.
3937

40-
1. Set the Platform Toolset, C++ Language Standard, and Windows SDK version (if applicable) to the desired versions.
41-
1. If you have a lot of errors, turn off the [permissive-]() option and/or [code analysis]() temporarily to reduce the error count.
42-
1. Ensure that all dependencies are present and that the include paths or library locations are correct.
38+
1. Set the Platform Toolset, C++ Language Standard, and Windows SDK version (if applicable) to the desired versions. (**Project** > **Properties** > **Configuration Properties** > **General**)
39+
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.
40+
1. Ensure that all dependencies are present and that the include paths or library locations are correct. (**Project** > **Properties** > **Configuration Properties** > **VC++ Directories**)
4341
1. Identify and fix errors due to references to APIs that no longer exist.
44-
1. Fix any remaining errors that prevent compilation.
45-
1. Turn [permissive-]() back on and fix any new errors that appear due to non-conformant code that previously compiled in MSVC.
46-
1. Turn on [code analysis]() to identify potential problems or outdated coding patterns that are no longer considered acceptable. If code analysis flags many errors, you can turn off some of the warnings to focus on the most important ones first. The IDE can help with Quick Fixes for some kinds of issues. See [Upgrade legacy C++ code with Visual Studio](ide-tools-for-upgrading-code.md) for more information.
42+
1. Fix any remaining errors that prevent compilation. Refer to [Overview of potential upgrade issues](../porting/overview-of-potential-upgrade-issues-visual-cpp.md) for fixes for common errors.
43+
1. Turn **permissive-** back on and fix any new errors that appear due to non-conformant code that previously compiled in MSVC.
44+
1. Turn on code analysis to identify potential problems or outdated coding patterns that are no longer considered acceptable. If code analysis flags many errors, you can turn off some of the warnings to focus on the most important ones first. The IDE can help with Quick Fixes for some kinds of issues. See [Upgrade legacy C++ code with Visual Studio](ide-tools-for-upgrading-code.md) for more information.
4745
1. Consider other opportunities for modernizing the code, for example by replacing custom data structures and algorithms with those from the C++ standard library or the Boost open-source library. By using standard features, you make it easier for others to maintain the code and also have a strong confidence that the code has been well-tested and reviewed by many experts on the standards committee and the broader C++ community.
4846

49-
For hard-to-fix errors, post a question on [C++ Developer Community]().
47+
For hard-to-fix errors, try searching or posting a question on Stack Overflow or [C++ Developer Community](https://developercommunity.visualstudio.com/spaces/62/index.html).
5048

5149
## In this section
5250

51+
[Overview of potential upgrade issues](overview-of-potential-upgrade-issues-visual-cpp.md)<br/>
5352
[Upgrade your code to the Universal CRT](upgrade-your-code-to-the-universal-crt.md)<br/>
54-
[Modifying WINVER and _WIN32_WINNT](modifying-winver-and-win32-winnt.md)<br/>
53+
[Update WINVER and _WIN32_WINNT](modifying-winver-and-win32-winnt.md)<br/>
5554
[Fix your dependencies on library internals](fix-your-dependencies-on-library-internals.md)<br/>
5655
[Floating-point migration issues](floating-point-migration-issues.md)<br/>
57-
[Use native multi-targeting in Visual Studio to build old projects](use-native-multi-targeting.md)<br/>
58-
[Visual C++ features deprecated in Visual Studio 2019 preview](features-deprecated-in-visual-studio.md)<br/>
59-
[Build System Changes](build-system-changes.md)
56+
[C++ features deprecated in Visual Studio 2019](features-deprecated-in-visual-studio.md)<br/>
57+
[VCBuild vs. MSBuild](build-system-changes.md)<br/>
58+
[Port 3rd-party libraries](porting-third-party-libraries.md)<br/>
6059

6160
## See also
6261

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

docs/porting/use-native-multi-targeting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,5 @@ When these products are installed, the **Platform Toolset** property drop-down i
6161

6262
## See also
6363

64-
[Upgrading Projects from Earlier Versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
64+
[Upgrading projects from earlier versions of Visual C++](upgrading-projects-from-earlier-versions-of-visual-cpp.md)<br/>
6565
[C++ conformance improvements in Visual Studio](../overview/cpp-conformance-improvements.md)

0 commit comments

Comments
 (0)