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
Copy file name to clipboardExpand all lines: docs/porting/build-system-changes.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: "Build System Changes in Visual Studio 2010"
2
+
title: "VCBuild vs. MSBuild"
3
3
ms.date: "10/25/2019"
4
4
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)"]
5
5
ms.assetid: e564d95f-a6cc-4d97-b57e-1a71daf66f4a
6
6
---
7
-
# Build System Changes in Visual Studio 2010
7
+
# VCBuild vs. MSBuild: Build System Changes in Visual Studio 2010
8
8
9
9
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).
Copy file name to clipboardExpand all lines: docs/porting/fix-your-dependencies-on-library-internals.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: "Fix your dependencies on library internals"
2
+
title: "Fix your dependencies on C++ library internals"
3
3
ms.date: "05/24/2017"
4
4
helpviewer_keywords: ["library internals in an upgraded Visual Studio C++ project", "_Hash_seq in an upgraded Visual Studio C++ project"]
5
5
ms.assetid: 493e0452-6ecb-4edc-ae20-b6fce2d7d3c5
6
6
---
7
-
# Fix your dependencies on library internals
7
+
# Fix your dependencies on C++ library internals
8
8
9
9
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.
Copy file name to clipboardExpand all lines: docs/porting/modifying-winver-and-win32-winnt.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: "Modifying WINVER and _WIN32_WINNT"
2
+
title: "Update WINVER and _WIN32_WINNT"
3
3
ms.date: "09/04/2017"
4
4
helpviewer_keywords: ["WINVER in an upgraded Visual Studio C++ project", "_WIN32_WINNT in an upgraded Visual Studio C++ project"]
5
5
ms.assetid: 6a1f1d66-ae0e-48a7-81c3-524d8e8f3447
6
6
---
7
-
# Modifying WINVER and _WIN32_WINNT
7
+
# Update WINVER and _WIN32_WINNT
8
8
9
9
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.
title: "Upgrading C++ projects from earlier versions of Visual Studio"
2
+
title: "Upgrade C++ projects from earlier versions of Visual Studio"
3
3
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"
5
5
helpviewer_keywords: ["32-bit code porting", "upgrading Visual C++ applications, 32-bit code"]
6
6
ms.assetid: 18cdacaa-4742-43db-9e4c-2d9e73d8cc84
7
7
---
8
8
# Upgrading C++ projects from earlier versions of Visual Studio
9
9
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).
11
11
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.
15
13
16
14
## Upgrade reports
17
15
@@ -35,31 +33,33 @@ When you upgrade a project, you get an upgrade report, which is also saved in yo
35
33
36
34
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.
37
35
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.
39
37
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**)
43
41
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.
47
45
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.
48
46
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).
50
48
51
49
## In this section
52
50
51
+
[Overview of potential upgrade issues](overview-of-potential-upgrade-issues-visual-cpp.md)<br/>
53
52
[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/>
55
54
[Fix your dependencies on library internals](fix-your-dependencies-on-library-internals.md)<br/>
0 commit comments