Настройка программ для Windows XPConfiguring Programs for Windows XP

Visual Studio поддерживает несколько наборов инструментов платформы.Visual Studio supports multiple platform toolsets. Это означает, что можно использовать операционные системы и библиотеки среды выполнения, которые не поддерживаются набором инструментов по умолчанию.That means it's possible to target operating systems and runtime libraries that aren't supported by the default toolset. Например, путем переключения набора инструментов платформы вы можете использовать компилятор Visual Studio 2017 C++, чтобы создавать приложения для Windows XP и Windows Server 2003.For example, by switching the platform toolset, you can use the Visual Studio 2017 C++ compiler to create apps that target Windows XP and Windows Server 2003. Вы также можете применять наборы инструментов для старых платформ, чтобы обеспечивать совместимость прежнего кода на двоичном уровне, пользуясь при этом последними возможностями интегрированной среды разработки Visual Studio.You can also use older platform toolsets to maintain binary-compatible legacy code and still take advantage of the latest features of the Visual Studio IDE.

Набор инструментов v142, поставляемый в Visual Studio 2019 и более поздних версий, не поддерживает создание кода для Windows XP.The v142 toolset supplied in Visual Studio 2019 doesn't include support for creating code for Windows XP. Поддержка разработки Windows XP с помощью набора инструментов v141_xp в Visual Studio 2017 доступна как отдельный компонент в установщике Visual Studio Installer.Support for Windows XP development by using the Visual Studio 2017 v141_xp toolset is available as an individual component option in the Visual Studio Installer.

Установка набора инструментов платформы Windows XPInstall the Windows XP platform toolset

Чтобы получить набор инструментов платформы Visual Studio 2017 и компоненты для Windows XP и Windows Server 2003, запустите Visual Studio Installer.To get the Visual Studio 2017 platform toolset and components to target Windows XP and Windows Server 2003, run the Visual Studio Installer. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что выбрана рабочая нагрузка Разработка классических приложений на C++ .When you initially install Visual Studio or when you modify an existing installation, make sure the Desktop development with C++ workload is selected. В списке дополнительных компонентов для этой рабочей нагрузки выберите Поддержка Windows XP для C++ , а затем Установить или Изменить.In the list of optional components for this workload, choose Windows XP support for C++, and then choose Install or Modify.

Чтобы получить набор инструментов платформы v141_xp и компоненты для Windows XP и Windows Server 2003, запустите Visual Studio Installer.To get the v141_xp platform toolset and components to target Windows XP and Windows Server 2003, run the Visual Studio Installer. При первоначальной установке Visual Studio или при изменении существующей установки убедитесь, что выбрана рабочая нагрузка Разработка классических приложений на C++ .When you initially install Visual Studio, or when you modify an existing installation, make sure the Desktop development with C++ workload is selected. На вкладке Отдельные компоненты в разделе Компиляторы, средства сборки и среды выполнения выберите Поддержка C++ Windows XP для средств VS 2017 (v141) [не рекомендуется] , а затем выберите Установить или Изменить.In the Individual components tab, under Compilers, build tools, and runtimes, choose C++ Windows XP Support for VS 2017 (v141) tools [Deprecated], and then choose Install or Modify.

Нацеливание на Windows XPWindows XP targeting experience

Набор инструментов для платформы Windows XP, включенный в Visual Studio, является версией пакета SDK для Windows 7, но использует текущий компилятор Visual Studio 2017 C++.The Windows XP platform toolset that's included in Visual Studio is a version of the Windows 7 SDK, but it uses the Visual Studio 2017 C++ compiler. Он также присваивает свойствам проекта соответствующие значения по умолчанию. Например, он задает спецификацию совместимого компоновщика для нисходящего нацеливания.It also configures project properties to appropriate default values, for example, the specification of a compatible linker for down-level targeting. В Windows XP и Windows Server 2003 могут работать только классические приложения Windows, созданные с помощью набора средств платформы Windows XP.Only Windows desktop apps created by using a Windows XP platform toolset can run on Windows XP and Windows Server 2003. Эти приложения также могут работать в более новых операционных системах Windows.Those apps can also run on more recent Windows operating systems.

Нацеливание на Windows XPTo target Windows XP

  1. В обозревателе решений откройте контекстное меню своего проекта и выберите пункт Свойства.In Solution Explorer, open the shortcut menu for your project, and then choose Properties.

  2. В диалоговом окне Страницы свойств проекта выберите Свойства конфигурации > Общие.In the Property Pages dialog box for the project, select Configuration Properties > General. Задайте в качестве значения свойства Набор инструментов платформы нужный набор инструментов Windows XP.Set the Platform Toolset property to your preferred Windows XP toolset. Например, выберите Visual Studio 2017 — Windows XP (v141_xp) , чтобы создать код для Windows XP и Windows Server 2003 с помощью компилятора Microsoft C++ в Visual Studio 2017.For example, choose Visual Studio 2017 - Windows XP (v141_xp) to create code for Windows XP and Windows Server 2003 by using the Microsoft C++ compiler in Visual Studio 2017.

Поддержка среды выполнения C++C++ runtime support

Помимо набора инструментов платформы Windows XP, несколько библиотек включают поддержку среды выполнения для Windows XP и Windows Server 2003.Along with the Windows XP platform toolset, several libraries include runtime support for Windows XP and Windows Server 2003. Это следующие библиотеки: библиотека времени выполнения C (CRT), стандартная библиотека C++, библиотека шаблонных классов ATL, библиотека среды выполнения с параллелизмом (ConCRT), библиотека параллельных шаблонов (PPL), библиотека Microsoft Foundation Class (MFC) и библиотека C++ AMP (C++ Accelerated Massive Programming).These libraries are: the C Runtime Library (CRT), C++ Standard Library, Active Template Library (ATL), Concurrency Runtime Library (ConCRT), Parallel Patterns Library (PPL), Microsoft Foundation Class Library (MFC), and C++ AMP (C++ Accelerated Massive Programming) library. Поддерживаются следующие минимальные версии этих операционных систем: Windows XP с пакетом обновления 3 (SP3) для x86, Windows XP с пакетом обновления 2 (SP2) для x64 и Windows Server 2003 c пакетом обновления 2 (SP2) как для x86, так и для x64.For these operating systems, the minimum supported versions are: Windows XP Service Pack 3 (SP3) for x86, Windows XP Service Pack 2 (SP2) for x64, and Windows Server 2003 Service Pack 2 (SP2) for both x86 and x64.

Эти библиотеки поддерживаются наборами инструментов платформ, устанавливаемыми вместе с Visual Studio, в зависимости от целевой платформы:These libraries are supported by the platform toolsets installed by Visual Studio, depending on the target:

БиблиотекаLibrary Набор инструментов платформы по умолчанию для классических приложений WindowsDefault platform toolset targeting Windows desktop apps Набор инструментов платформы по умолчанию для приложений StoreDefault platform toolset targeting Store apps Набор инструментов платформы Windows XP для Windows XP и Windows Server 2003Windows XP platform toolset targeting Windows XP, Windows Server 2003
CRT - библиотекаCRT XX XX XX
Стандартная библиотека C++C++ Standard Library XX XX XX
ATLATL XX XX XX
ConCRT/PPLConCRT/PPL XX XX XX
MFCMFC XX XX
C++ AMPC++ AMP XX XX

Примечание

Приложения, написанные на C++/CLI и предназначенные для платформы .NET Framework 4, выполняются в Windows XP и Windows Server 2003.Apps that are written in C++/CLI and target the .NET Framework 4 run on Windows XP and Windows Server 2003.

Различия между наборами инструментовDifferences between the toolsets

Из-за различий в поддержке платформ и библиотек процесс разработки приложений с помощью набора инструментов платформы Windows XP не так многофункционален, как в случае с приложениями, использующими набор инструментов платформы Visual Studio по умолчанию.Because of differences in platform and library support, the development experience for apps that use a Windows XP platform toolset isn't as complete as for apps that use the default Visual Studio platform toolset.

  • Возможности языка C++C++ language features

    В приложениях, использующих набор инструментов платформы v110_xp, поддерживаются только те возможности языка C++, которые реализованы в Visual Studio 2012.Only C++ language features implemented in Visual Studio 2012 are supported in apps that use the v110_xp platform toolset. В приложениях, использующих набор инструментов платформы v120_xp, поддерживаются только те возможности языка C++, которые реализованы в Visual Studio 2013.Only C++ language features implemented in Visual Studio 2013 are supported in apps that use the v120_xp platform toolset. В приложениях, использующих набор инструментов платформы v140_xp, поддерживаются только те возможности языка C++, которые реализованы в Visual Studio 2015.Only C++ language features implemented in Visual Studio 2015 are supported in apps that use the v140_xp platform toolset. В приложениях, использующих набор инструментов платформы v141_xp, поддерживаются только те возможности языка C++, которые реализованы в Visual Studio 2017.Only C++ language features implemented in Visual Studio 2017 are supported in apps that use the v141_xp platform toolset. При сборке с помощью более старых наборов инструментов платформы среда Visual Studio использует соответствующий компилятор.Visual Studio uses the corresponding compiler when it builds using the older platform toolsets. Выберите более новый набор инструментов платформы Windows XP, чтобы воспользоваться реализованными в этой версии компилятора дополнительными возможностями C++.Use the most recent Windows XP platform toolset to take advantage of additional C++ language features implemented in that version of the compiler.

  • Удаленная отладкаRemote debugging

    Инструменты удаленной отладки для Visual Studio не поддерживают удаленную отладку в Windows XP или Windows Server 2003.Remote Tools for Visual Studio doesn't support remote debugging on Windows XP or Windows Server 2003. Для локальной или удаленной отладки приложения, выполняющегося в Windows XP или Windows Server 2003, можно использовать отладчик из более ранней версии Visual Studio.To debug an app locally or remotely on Windows XP or Windows Server 2003, use a debugger from an older version of Visual Studio. Ситуация здесь схожа с отладкой приложений в Windows Vista, которые могут являться целью выполнения для набора инструментов платформы, но не могут являться целью удаленной отладки.It's similar to debugging an app on Windows Vista, which is a runtime target of the platform toolset, but not a remote debugging target.

  • Статический анализStatic analysis

    Наборы инструментов платформы для Windows XP не поддерживают статический анализ, так как примечания SAL для пакета SDK Windows 7 и библиотек времени выполнения несовместимы.The Windows XP platform toolsets don't support static analysis because the SAL annotations for the Windows 7 SDK and the runtime libraries are incompatible. Вы по-прежнему можете выполнять статический анализ в приложении, которое поддерживает Windows XP или Windows Server 2003.You can still perform static analysis on an app that supports Windows XP or Windows Server 2003. Вы можете временно переключиться на набор инструментов платформы по умолчанию для анализа решения, а затем вернуться к набору инструментов платформы Windows XP для сборки приложения.Temporarily switch the solution to target the default platform toolset for the analysis, and then switch back to the Windows XP platform toolset to build the app.

  • Отладка графики DirectXDebugging of DirectX graphics

    Так как отладчик графики не поддерживает API Direct3D 9, его нельзя применять для отладки приложений, использующих Direct3D, в Windows XP или Windows Server 2003.Because the Graphics Debugger doesn't support the Direct3D 9 API, it can't be used to debug apps that use Direct3D on Windows XP or Windows Server 2003. Однако если в приложении реализован альтернативный отрисовщик на основе API Direct3D 10 или Direct3D 11, с помощью отладчика графики можно диагностировать проблемы.However, if the app implements an alternative renderer based on Direct3D 10 or Direct3D 11 APIs, you can use the Graphics Debugger to diagnose problems.

  • Сборка HLSLBuilding HLSL

    По умолчанию набор инструментов Windows XP не компилирует файлы с исходным кодом HLSL.The Windows XP toolset doesn't compile HLSL source code files by default. Для компиляции файлов HLSL загрузите и установите пакет SDK DirectX за июнь 2010 года, а затем включите его в каталоги VC проекта.To compile HLSL files, download and install the June 2010 DirectX SDK, and then set the project's VC directories to include it. Дополнительные сведения см. в разделе "Пакет SDK DirectX не регистрирует пути включения и пути к библиотекам в Visual Studio 2010" на странице загрузки пакета SDK DirectX за июнь 2010 года.For more information, see the "DirectX SDK Does Not Register Include/Library Paths with Visual Studio 2010" section of the June 2010 DirectX SDK download page.