方法: /clr を使用して MFC および ATL コードをコンパイルする

このトピックでは、共通言語ランタイムをターゲットに既存の MFC および ATL プログラムをコンパイルする方法について説明します。

/clr を使用して MFC 実行可能ファイルまたは標準 MFC DLL をコンパイルするには

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

  2. [プロジェクトのプロパティ] ダイアログ ボックスで、[構成プロパティ] の隣のノードを展開し、[全般] を選択します。 右側のウィンドウの [プロジェクトの既定値][共通言語ランタイム サポート][共通言語ランタイム サポート (/clr)] に設定します。

    同じウィンドウで、[MFC の使用][共有 DLL で MFC を使用する] に設定されている必要があります。

  3. [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 [デバッグ情報の形式][プログラム データベース /Zi] に設定してください (/ZI ではありません)。

  4. [コード生成] ノードを選択します。 [最小リビルドを有効にする][いいえ (/Gm-)] に設定します。 また、[基本ランタイム チェック][既定値] に設定します。

  5. [構成プロパティ] で、[C/C++][コード生成] を順に選択します。 [ランタイム ライブラリ][マルチスレッド デバッグ DLL (/MDd)] または [マルチスレッド DLL (/MD)] に設定されている必要があります。

  6. Stdafx.h に、次の行を追加します。

    #using <System.Windows.Forms.dll>
    

/clr を使用して MFC 拡張 DLL をコンパイルするには

  1. 「/clr を使用して MFC 実行可能ファイルまたは標準 MFC DLL をコンパイルするには」の手順に従います。

  2. [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[プリコンパイル済みヘッダー] を選択します。 [プリコンパイル済みヘッダーの作成/使用][プリコンパイル済みヘッダーを使用しない] に設定します。

    あるいは、ソリューション エクスプローラーで、Stdafx.cpp を右クリックしてから、[プロパティ] をクリックします。 [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 [Compile with Common Language Runtime support]\(共通言語ランタイムのサポートを使用してコンパイルする\)[共通言語ランタイム サポートを使用しない] に設定します。

  3. DllMain とそれが呼び出すすべてを含むファイルの場合は、ソリューション エクスプローラーでファイルを右クリックしてから、[プロパティ] をクリックします。 [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 右側のウィンドウの [プロジェクトの既定値][Compile with Common Language Runtime support]\(共通言語ランタイムのサポートを使用してコンパイルする\)[共通言語ランタイム サポートを使用しない] に設定します。

/clr を使用して ATL 実行可能ファイルをコンパイルするには

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

  2. [プロジェクトのプロパティ] ダイアログ ボックスで、[構成プロパティ] の隣のノードを展開し、[全般] を選択します。 右側のウィンドウの [プロジェクトの既定値][共通言語ランタイム サポート][共通言語ランタイム サポート (/clr)] に設定します。

  3. [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 [デバッグ情報の形式][プログラム データベース /Zi] に設定してください (/ZI ではありません)。

  4. [コード生成] ノードを選択します。 [最小リビルドを有効にする][いいえ (/Gm-)] に設定します。 また、[基本ランタイム チェック][既定値] に設定します。

  5. [構成プロパティ] で、[C/C++][コード生成] を順に選択します。 [ランタイム ライブラリ][マルチスレッド デバッグ DLL (/MDd)] または [マルチスレッド DLL (/MD)] に設定されている必要があります。

  6. すべての MIDL 生成ファイル (C ファイル) の場合は、ソリューション エクスプローラーでファイルを右クリックしてから、[プロパティ] をクリックします。 [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 [Compile with Common Language Runtime support]\(共通言語ランタイムのサポートを使用してコンパイルする\)[共通言語ランタイム サポートを使用しない] に設定します。

/clr を使用して ATL DLL をコンパイルするには

  1. 「/clr を使用して ATL 実行可能ファイルをコンパイルするには」セクションの手順に従います。

  2. [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[プリコンパイル済みヘッダー] を選択します。 [プリコンパイル済みヘッダーの作成/使用][プリコンパイル済みヘッダーを使用しない] に設定します。

    あるいは、ソリューション エクスプローラーで、Stdafx.cpp を右クリックしてから、[プロパティ] をクリックします。 [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 [Compile with Common Language Runtime support]\(共通言語ランタイムのサポートを使用してコンパイルする\)[共通言語ランタイム サポートを使用しない] に設定します。

  3. DllMain とそれが呼び出すすべてを含むファイルの場合は、ソリューション エクスプローラーでファイルを右クリックしてから、[プロパティ] をクリックします。 [構成プロパティ] の下で、[C/C++] の隣のノードを展開し、[全般] を選択します。 右側のウィンドウの [プロジェクトの既定値][Compile with Common Language Runtime support]\(共通言語ランタイムのサポートを使用してコンパイルする\)[共通言語ランタイム サポートを使用しない] に設定します。

関連項目

混在 (ネイティブおよびマネージド) アセンブリ