次の方法で共有


Windows XP 用 C++ 11 プログラムの構成

Visual Studio は複数のプラットフォーム ツールセットをサポートしているため、既定のツールセットでサポートされていないオペレーティング システムとランタイム ライブラリに対応することができます。たとえば、C++11 言語の拡張、コンパイラ、ライブラリや、Visual Studio で実装されているその他の機能を使用して、Windows XP と Windows Server 2003 に対応するアプリを作成できます。以前のプラットフォーム ツールセットを使用して、バイナリ互換性のあるレガシ コードを保守しながら、Visual Studio IDE の最新の機能も利用できます。

[!メモ]

Visual Studio 2012 および Windows XP のプラットフォーム ツールセットのサポートを Windows Server 2003 に追加するには、Visual Studio 2012 更新プログラム 4 をインストールする必要があります。Visual Studio 2012 Update 4 をダウンロードしてインストールするには、Microsoft ダウンロード センターの「Microsoft Visual Studio Express 2012 for Windows Desktop」を参照してください。その後、Visual Studio 2012 Update 4 をインストールして、v110_xp のプラットフォーム ツールセットを取得します。インストール後に、Windows Update を使用して最新のソフトウェア更新プログラムを受け取ります。

Windows XP 対応のエクスペリエンス

Visual Studio に含まれている Windows XP プラットフォーム ツールセットは、Windows 7 に含まれていた Visual Studio 2010 SDK のバージョンですが、最新の C++ コンパイラを使用しています。また、これは、プロジェクトのプロパティを適切な既定値に構成します。たとえば、下位レベルへの対応用の、互換性のあるリンカーの仕様などです。Windows XP プラットフォーム ツールセットを使用して作成された Windows デスクトップ アプリのみが Windows XP と Windows Server 2003 で動作しますが、これらのアプリは、Windows Vista、Windows 7、Windows Server 2008、Windows 8、Windows Server 2012 など、最近のオペレーティング システムでも動作します。

Windows XP に対応するには

  1. ソリューション エクスプローラーで、プロジェクトのショートカット メニューを開き、[プロパティ] をクリックします。

  2. プロジェクトの [プロパティ ページ] ダイアログ ボックスの [構成プロパティ]、[全般] で、[プラットフォーム ツールセット] プロパティを必要な Windows XP ツールセットに設定します。たとえば、[Visual Studio 2012 – Windows XP (v110_xp)] を選択して、Microsoft Visual C 2012 再頒布可能ライブラリとバイナリ互換性のあるコードを作成します。

C++ ランタイムのサポート

Windows XP のプラットフォーム ツールセットの他に、C ランタイム ライブラリ (CRT)、標準テンプレート ライブラリ (STL)、Active Template Library (ATL)、同時実行ランタイム ライブラリ (ConCRT)、並列パターン ライブラリ (PPL)、Microsoft Foundation Class ライブラリ (MFC)、および C++ AMP (C++ Accelerated Massive Programming) ライブラリに Windows XP と Windows Server 2003 のランタイム サポートが含まれます。これらのオペレーティング システムでサポートされるバージョンは、x86 用 Windows XP Service Pack 3 (SP3)、x64 用 Windows XP Service Pack 2 (SP2)、および x86 と x64 用 Windows Server 2003 Service Pack 2 (SP2) です。

これらのライブラリは Visual Studio によってインストールされているプラットフォーム ツールセットによりサポートされますが、サポート状況はターゲットに応じて異なります。

ライブラリ

Windows デスクトップ アプリを対象とする既定のプラットフォーム ツールセット

Windows ストア アプリを対象とする既定のプラットフォーム ツールセット

Windows XP、Windows Server 2003 を対象とする Windows XP プラットフォーム ツールセット

CRT

X

X

X

STL

X

X

X

[ATL]

X

X

X

ConCRT/PPL

X

X

X

MFC

X

X

C++ AMP

X

X

[!メモ]

C++/CLI で作成され、.NET Framework 4 を対象とするアプリは、Windows XP および Windows Server 2003 で動作します。

ツールセットの間の相違点

プラットフォームとライブラリのサポートの違いにより、Windows XP のプラットフォーム ツールセットを使用するアプリの開発のエクスペリエンスは、既定の Visual Studio プラットフォーム ツールセットを使用するアプリの場合ほどに完全ではありません。

  • C++ 言語の機能

    v110_xp のプラットフォーム ツールセットを使用するアプリでサポートされているのは、Visual Studio 2012 に実装されている C++ 11 言語機能だけです。v120_xp のプラットフォーム ツールセットを使用するアプリでサポートされているのは、Visual Studio 2013 に実装されている C++ 11 の機能だけです。Visual Studio は、以前のプラットフォーム ツールセットを使用してビルドするときに、対応するコンパイラを使用します。そのバージョンに実装されている C++11 の追加機能を利用するには、より新しい Windows XP のプラットフォーム ツールセットを使用します。

  • リモート デバッグ

    Remote Tools for Visual Studio は、Windows XP または Windows Server 2003 のリモート デバッグをサポートしません。Windows XP または Windows Server 2003 で実行しているときにアプリをデバッグするために、以前のバージョンの Visual Studio のデバッガーを使用して、ローカルまたはリモートでデバッグすることができます。これと似ているのが Windows Vista のアプリのデバッグのエクスペリエンスであり、これはプラットフォーム ツールセットのランタイム ターゲットですが、リモートのデバッグ ターゲットではありません。

  • 静的分析

    Windows XP のプラットフォーム ツールセットは、Windows 7 SDK の SAL 注釈とランタイム ライブラリに互換性がないため、静的分析をサポートしていません。Windows XP または Windows Server 2003 をサポートするアプリの静的分析を実行する場合は、既定のプラットフォーム ツールセットに対応するようソリューションを一時的に切り替え、分析を実行してから Windows XP のプラットフォーム ツールセットに戻ってアプリをビルドすることができます。

  • DirectX グラフィックスのデバッグ

    グラフィックス デバッガーは Direct3D 9 API をサポートしていないため、Windows XP または Windows Server 2003 で Direct3D を使用するアプリのデバッグにこれを利用することはできません。ただし、アプリが Direct3D 10 または Direct3D 11 の API を使用する代替のレンダラーを実装する場合、これらの API を使用する場合の問題の診断にグラフィックス デバッガーを利用できます。

  • HLSL の構築

    既定では、Windows XP ツールセットでは HLSL のソース コード ファイルはコンパイルされません。HLSL ファイルをコンパイルするには、June 2010 DirectX SDK をダウンロードしてインストールし、プロジェクトの VC ディレクトリに含めるように設定します。詳細については、2010 年 6 月の DirectX SDK ダウンロード ページの「DirectX SDK はインクルード/ライブラリ パスを Visual Studio 2010 に登録しない」のセクションを参照してください。