Freigeben über


Konfigurieren von C++ 11-Programmen für Windows XP

Da Visual Studio mehrere Plattformtoolsets unterstützt, können Sie Betriebssysteme und Laufzeitbibliotheken als Ziel festlegen, die vom Standardtoolset nicht unterstützt werden.Beispielsweise können Sie die C++11-Spracherweiterungen, -Compiler, -Bibliotheken und andere Features verwenden, die in Visual Studio implementiert sind, um Apps für Windows XP und Windows Server 2003 zu erstellen.Sie können ältere Plattformtoolsets verwenden, um binärkompatiblen Legacycode zu verwalten und dennoch die neuesten Features der Visual Studio-IDE zu nutzen.

HinweisHinweis

Sie müssen Visual Studio 2012 Update 4 installieren, um Plattformtoolset-Unterstützung für Windows XP und Windows Server 2003 zu Visual Studio 2012 hinzuzufügen.Informationen zum Herunterladen und Installieren einer Kopie von Visual Studio 2012 Update 4 finden Sie unter Microsoft Visual Studio Express 2012 für Windows Desktop im Microsoft Download Center.Installieren Sie anschließend Visual Studio 2012 Update 4, um das Plattformtoolset v110_xp abzurufen.Verwenden Sie Windows Update, um nach der Installation die aktuellsten Softwareupdates abzurufen.

Windows XP als Ziel

Das in Visual Studio enthaltene Windows XP-Plattformtoolset ist eine Version des Windows 7-SDK, das in Visual Studio 2010 enthalten war, verwendet jedoch den aktuellen C++-Compiler.Es konfiguriert außerdem Projekteigenschaften auf entsprechende Standardwerte, z. B. die Spezifikation eines kompatiblen Linkers kompatibel für die Zielfestlegung auf Elementebene.Nur Windows Desktop-Apps, die unter Verwendung des Windows XP-Plattformtoolsets erstellt werden, können unter Windows XP und Windows Server 2003 ausgeführt werden; diese Apps können jedoch auch unter neueren Betriebssysteme ausgeführt werden, z. B. Windows Vista, Windows 7, Windows Server 2008, Windows 8 oder Windows Server 2012.

So entwickeln Sie für Windows XP

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für das Projekt, und wählen Sie Eigenschaften aus.

  2. Legen Sie im Dialogfeld Eigenschaftenseiten für das Projekt unter Konfigurationseigenschaften, Allgemein die Eigenschaft Platform Toolset auf das gewünschte Windows XP-Toolset fest.Wählen Sie z. B. Visual Studio 2012 – Windows XP (v110_xp) aus, um Code zu erstellen, der mit Microsoft Visual C++ 2012 Redistributable-Bibliotheken binärkompatibel ist.

C++-Laufzeitunterstützung

Die C-Laufzeitbibliothek (CRT), Standard Template Library (STL), Active Template Library (ATL), Concurrency Runtime-Bibliothek (ConCRT), Parallel Patterns Library (PPL), Microsoft Foundation Class-Bibliothek (MFC) und C++ AMP (C++ Accelerated Massive Programming)-Bibliothek enthalten neben dem Windows XP-Plattformtoolset Laufzeitunterstützung für Windows XP und Windows Server 2003.Für diese Betriebssysteme werden folgenden Versionen unterstützt: Windows XP Service Pack 3 (SP3) für x86, Windows XP Service Pack 2 (SP2) für x64 und Windows Server 2003 Service Pack 2 (SP2) für x86 und x64.

Diese Bibliotheken werden in Abhängigkeit vom Ziel von den von Visual Studio installierten Plattformtoolsets unterstützt:

Bibliothek

Standard-Plattformtoolset mit Windows-Desktop-Apps als Ziel

Standard-Plattformtoolset mit Windows Store-Apps als Ziel

Windows XP-Plattformtoolset mit Windows XP,Windows Server 2003 als Ziel

CRT

X

X

X

STL

X

X

X

ATL

X

X

X

ConCRT/PPL

X

X

X

MFC

X

X

C++ AMP

X

X

HinweisHinweis

Apps, die in C++/CLI geschrieben sind und .NET Framework 4 als Ziel haben, können unter Windows XP und Windows Server 2003 ausgeführt werden.

Unterschiede zwischen den Toolsets

Aufgrund von Unterschieden bei Plattform- und Bibliotheksunterstützung ist die Entwicklungsumgebung für Apps, die ein Windows XP-Plattformtoolset verwenden, nicht so umfassend wie für Apps, die das standardmäßige Visual Studio-Plattformtoolset verwenden.

  • Features der Programmiersprache C++

    In Apps, die das v110_xp-Plattformtoolset verwenden, werden nur die Features der Programiersprache C++11 unterstützt, die in Visual Studio 2012 implementiert sind.In Apps, die das v120_xp-Plattformtoolset verwenden, werden nur die Features der Programiersprache C++11 unterstützt, die in Visual Studio 2013 implementiert sind.Visual Studio verwendet den entsprechenden Compiler bei der Erstellung der älteren Plattformtoolsets.Verwenden Sie ein neueres Windows XP-Plattformtoolset. um weitere C++11-Features zu nutzen, die in dieser Version implementiert sind.

  • Remotedebuggen

    Remotetools für Visual Studio unterstützen das Remotedebuggen unter Windows XP oder Windows Server 2003 nicht.Zum Debuggen einer App, die unter Windows XP oder Windows Server 2003 ausgeführt wird, können Sie einen Debugger aus einer älteren Version von Visual Studio verwenden, um diese lokal oder remote zu debuggen.Dies ähnelt dem Debuggen einer Anwendung unter Windows Vista, das ein Laufzeitziel des Plattformtoolsets, aber kein Remotedebuggingziel ist.

  • Statische Analyse

    Die Windows XP-Plattformtoolsets unterstützen keine statischen Analysen, da die SAL-Anmerkungen für das Windows 7-SDK und die Laufzeitbibliotheken nicht kompatibel sind.Wenn Sie statische Analysen für eine App durchführen möchten, die Windows XP oder Windows Server 2003 unterstützt, können sie vorübergehend die Projektmappe so umschalten, dass sie zum Durchführen der Analyse das Standard-Plattformtoolset als Ziel verwendet, und dann zum Windows XP-Plattformtoolset zurückwechseln, um die App zu erstellen.

  • Debuggen von DirectX-Grafiken

    Da der Grafikdebugger die Direct3D 9-API nicht unterstützt, kann sie nicht zum Debuggen von Apps verwendet werden, die Direct3D unter Windows XP oder Windows Server 2003 verwenden.Wenn die App jedoch einen alternative Renderer implementiert, der die Direct3D 10- oder Direct3D 11-API verwendet, kann der Grafikdebugger verwendet werden, um Probleme mit der Verwendung dieser APIs zu diagnostizieren.

  • Erstellen von HLSL

    Standardmäßig kompiliert das Windows XP-Toolset keine HLSL-Quellcodedateien.Zur Kompilierung von HLSL-Dateien laden Sie das June 2010 DirectX SDK herunter und installieren es und legen dann die VC-Verzeichnisse des Projekts so fest, dass es eingeschlossen ist.Weitere Informationen finden Sie im Abschnitt „DirectX-SDK registriert keine Include/Library-Pfade bei Visual Studio 2010“ auf der June 2010 DirectX SDK-Downloadseite.