Share via


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

更新 : 2007 年 11 月

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

/clr を指定して MFC 実行可能ファイルまたはレギュラー DLL をコンパイルするには

  1. ソリューション エクスプローラでプロジェクトを右クリックし、[プロパティ] を選択して、[プロジェクトのプロパティ] ダイアログを開きます。

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

    同じペインで、[MFC の使用法] が [共有 DLL で MFC を使う] に設定されていることを確認します。

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

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

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

  1. 上の「/clr を指定して MFC 実行可能ファイルまたはレギュラー DLL をコンパイルするには」で説明した処理を実行します。

  2. 次のいずれかを実行します。

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

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

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

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

  1. ソリューション エクスプローラでプロジェクトを右クリックし、[プロパティ] を選択して、[プロジェクトのプロパティ] ダイアログを開きます。

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

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

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

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

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

  1. 上の「/clr を指定して ATL 実行可能ファイルをコンパイルするには」で説明した処理を実行します。

  2. 次のいずれかを実行します。

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

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

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

参照

概念

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