次の方法で共有


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

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

/clr を使用して 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 実行可能ファイルまたは標準 DLL をコンパイルするには」で説明した手順を実行します。

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

    または、ソリューション エクスプローラーで、Stdafx.cpp を右クリックし、[プロパティ] をクリックします。[構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。[共通言語ランタイム サポートでコンパイル][共通言語ランタイム サポートを使用しない] に設定します。

  3. DllMain および DllMain の呼び出し先が含まれるファイルについて、ソリューション エクスプローラーでそのファイルを右クリックし、[プロパティ] をクリックします。[構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。右のペインで、[プロジェクトの既定値][共通言語ランタイム サポートでコンパイル][共通言語ランタイム サポートを使用しない] に設定します。

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

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

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

  3. [構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。[デバッグ情報の形式][プログラム データベース (/Zi)] に設定されていること (/ZI ではないこと) を確認します。

  4. [コード生成] ノードをクリックします。[簡易リビルドを行う][いいえ (/Gm-)] に設定します。また、[基本ランタイム チェック][既定値] に設定します。

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

  6. MIDL によって生成された各ファイル (C ファイル) について、ソリューション エクスプローラーでそのファイルを右クリックし、[プロパティ] をクリックします。[構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。[共通言語ランタイム サポートでコンパイル][共通言語ランタイム サポートを使用しない] に設定します。

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

  1. 「/clr を使用して ATL 実行可能ファイルをコンパイルするには」で説明した手順を実行します。

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

    または、ソリューション エクスプローラーで、Stdafx.cpp を右クリックし、[プロパティ] をクリックします。[構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。[共通言語ランタイム サポートでコンパイル][共通言語ランタイム サポートを使用しない] に設定します。

  3. DllMain および DllMain の呼び出し先が含まれるファイルについて、ソリューション エクスプローラーでそのファイルを右クリックし、[プロパティ] をクリックします。[構成プロパティ] の下で、[C/C++] の横のノードを展開し、[全般] を選択します。右のペインで、[プロジェクトの既定値][共通言語ランタイム サポートでコンパイル][共通言語ランタイム サポートを使用しない] に設定します。

参照

概念

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