Configuration des programmes C++ 11 pour Windows XP

Comme Visual Studio prend en charge plusieurs ensembles d'outils de plateforme, vous pouvez cibler les systèmes d'exploitation et les bibliothèques Runtime qui ne sont pas pris en charge par l'ensemble d'outils par défaut.Par exemple, vous pouvez utiliser les améliorations du langage C++11, les compilateurs, les bibliothèques et autres fonctionnalités implémentées dans Visual Studio pour créer des applications qui ciblent Windows XP et Windows Server 2003.Vous pouvez utiliser des ensembles d'outils de plateforme plus anciens pour maintenir le code hérité compatible binaire et continuer à tirer parti des dernières fonctionnalités de l'IDE Visual Studio.

[!REMARQUE]

Vous devez installer la mise à jour 4 de Visual Studio 2012 afin d'ajouter la prise en charge d'ensembles d'outils de plateforme pour Windows XP et Windows Server 2003 à Visual Studio 2012.Pour télécharger et installer une copie de Visual Studio 2012 Update 4, consultez Microsoft Visual Studio Express 2012 pour Windows Desktop dans le Centre de téléchargement Microsoft.Installez ensuite Visual Studio 2012 Update 4 pour obtenir l’ensemble d’outils de plateforme v110_xp.Utilisez Windows Update pour recevoir les dernières mises à jour logicielles après l'installation.

Ciblage de Windows XP

L'ensemble d'outils de plateforme Windows XP fourni dans Visual Studio est une version du Kit de développement logiciel (SDK) Windows 7 inclus dans Visual Studio 2010, mais il utilise le compilateur C++ actuel.Il configure également les propriétés du projet avec les valeurs par défaut appropriées : par exemple, la spécification d'un éditeur de liens compatible pour le ciblage de bas niveau.Seules les applications de bureau Windows créées avec l'ensemble d'outils de plateforme Windows XP s'exécutent sur Windows XP et Windows Server 2003, mais ces applications peuvent aussi s'exécuter sur des systèmes d'exploitation plus récents (par exemple, Windows Vista, Windows 7, Windows Server 2008, Windows 8 ou Windows Server 2012).

Pour cibler Windows XP

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel de votre projet et choisissez Propriétés.

  2. Dans la boîte de dialogue Pages de propriétés du projet, sous Propriétés de configuration, Général, définissez la propriété Ensemble d'outils de plateforme avec l'ensemble d'outils Windows XP souhaité.Par exemple, choisissez Visual Studio 2012 – Windows XP (v110_xp) pour créer un code compatible binaire avec les bibliothèques Microsoft Visual C++ 2012 Redistributable.

Prise en charge du runtime C++

Avec l'ensemble d'outils de plateforme Windows XP, la bibliothèque Runtime C (CRT), la bibliothèque STL (Standard Template Library), la bibliothèque ATL (Active Template), la bibliothèque du runtime d'accès concurrentiel (ConCRT), la bibliothèque de modèles parallèles (PPL), la bibliothèque MFC (Microsoft Foundation Class) et la bibliothèque C++ AMP (C++ Accelerated Massive Programming) incluent la prise en charge du runtime pour Windows XP et Windows Server 2003.Pour ces systèmes d'exploitation, les versions prises en charge sont Windows XP Service Pack 3 (SP3) pour x86, Windows XP Service Pack 2 (SP2) pour x64 et Windows Server 2003 Service Pack 2 (SP2) pour x86 et x64.

Ces bibliothèques sont prises en charge par les ensembles d'outils de plateforme installés par Visual Studio, en fonction de la cible :

Bibliothèque

Ensemble d'outils de plateforme par défaut ciblant les applications de bureau Windows

Ensemble d'outils de plateforme par défaut ciblant les applications Windows Store

Ensemble d'outils de plateforme Windows XP ciblant Windows XP, Windows Server 2003

CRT

X

X

X

STL

X

X

X

ATL

X

X

X

ConCRT/PPL

X

X

X

MFC

X

X

C++ AMP

X

X

[!REMARQUE]

Les applications écrites en C++/CLI et qui ciblent le .NET Framework 4 s'exécutent sur Windows XP et Windows Server 2003.

Différences entre les ensembles d'outils

En raison de différences de prise en charge de plateforme et de bibliothèque, l'expérience de développement pour les applications qui utilisent un ensemble d'outils de plateforme Windows XP n'est pas aussi complète que pour les applications qui utilisent l'ensemble d'outils de plateforme par défaut Visual Studio.

  • Fonctionnalités du langage C++

    Seules les fonctionnalités du langage C++11 implémentées dans Visual Studio 2012 sont prises en charge dans les applications qui utilisent l'ensemble d'outils de plateforme v110_xp.Seules les fonctionnalités C++11 implémentées dans Visual Studio 2013 sont prises en charge dans les applications qui utilisent l'ensemble d'outils de plateforme v120_xp.Visual Studio utilise le compilateur correspondant lors du développement à l'aide d'ensembles d'outils de plateforme plus anciens.Utilisez un ensemble d'outils de plateforme Windows XP plus récent pour tirer parti des fonctionnalités C++11 additionnelles implémentées dans cette version.

  • Débogage distant

    Les outils de contrôle à distance de Visual Studio ne prennent pas en charge le débogage distant sur Windows XP ou Windows Server 2003.Pour déboguer une application lorsqu'elle s'exécute sur Windows XP ou Windows Server 2003, vous pouvez utiliser un débogueur à partir d'une version antérieure de Visual Studio pour un débogage local ou à distance.L'expérience s'apparente à celle du débogage d'une application sur Windows Vista, qui est une cible d'exécution de l'ensemble d'outils de plateforme, mais pas une cible du débogage distant.

  • Analyse statique

    Les ensembles d'outils de plateforme Windows XP ne prennent pas en charge l'analyse statique, car les annotations SAL pour le Kit de développement logiciel (SDK) Windows 7 et les bibliothèques Runtime ne sont pas compatibles.Lorsque vous souhaitez effectuer une analyse statique sur une application qui prend en charge Windows XP ou Windows Server 2003, vous pouvez basculer temporairement la solution afin de cibler l'ensemble d'outils de plateforme par défaut et d'effectuer l'analyse, puis revenir à l'ensemble d'outils de plateforme Windows XP pour générer l'application.

  • Débogage de DirectX Graphics

    Comme le débogueur Graphics ne prend pas en charge l'API Direct3D 9, il ne peut pas être utilisé pour déboguer les applications qui utilisent Direct3D sur Windows XP ou Windows Server 2003.Cependant, si l'application implémente un autre convertisseur qui utilise les API Direct3D 10 ou Direct3D 11, le débogueur Graphics peut être utilisé pour diagnostiquer les problèmes liés à l'utilisation de ces API.

  • Développement HLSL

    Par défaut, l'ensemble d'outils Windows XP ne compile pas les fichiers de code source HLSL.Pour compiler les fichiers HLSL, téléchargez et installez le Kit de développement logiciel (SDK) DirectX de juin 2010, puis définissez les répertoires VC du projet de façon à l'inclure.Pour plus d’informations, consultez la section « SDK DirectX n’inscrit pas les chemins d’accès Include/Bibliothèque avec Visual Studio 2010 » de la page de téléchargement du Kit de développement logiciel (SDK) DirectX de juin 2010.