方法: MFC および ATL コードを使用して、/clr をコンパイルします。How to: Compile MFC and ATL Code By Using /clr

このトピックでは、共通言語ランタイムをターゲットに既存の MFC および ATL プログラムをコンパイルする方法について説明します。This topic discusses how to compile existing MFC and ATL programs to target the Common Language Runtime.

/Clr を使用して MFC 実行可能ファイルまたはレギュラー MFC DLL をコンパイルするにはTo compile an MFC executable or regular MFC DLL by using /clr

  1. プロジェクトを右クリックしてソリューション エクスプ ローラープロパティします。Right-click the project in Solution Explorer and then click Properties.

  2. プロジェクトのプロパティ ダイアログ ボックスで、次に、ノードを展開構成プロパティ選択と全般します。In the Project Properties dialog box, expand the node next to Configuration Properties and select General. 右側のウィンドウで プロジェクトの既定値設定共通言語ランタイム サポート共通言語ランタイム サポート (/clr) します。In the right pane, under Project Defaults, set Common Language Runtime support to Common Language Runtime Support (/clr).

    同じウィンドウでMFC の使用に設定されている共有 DLL で MFC を使用するします。In the same pane, make sure that Use of MFC is set to Use MFC in a Shared DLL.

  3. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 確認しますデバッグ情報の形式に設定されているプログラム データベース/Zi (いない /ZI)。Make sure that Debug Information Format is set to Program Database /Zi (not /ZI).

  4. 選択、コード生成ノード。Select the Code Generation node. 設定最小リビルドを有効にするいいえ (/Gm-) します。Set Enable Minimal Rebuild to No (/Gm-). 設定基本ランタイム チェック既定します。Also set Basic Runtime Checks to Default.

  5. 構成プロパティを選択しますC/C++コード生成します。Under Configuration Properties, select C/C++ and then Code Generation. 必ずランタイム ライブラリに設定されているマルチ スレッド デバッグ DLL (/MDd) またはマルチ スレッド DLL (/MD) します。Make sure that Runtime Library is set to either Multi-threaded Debug DLL (/MDd) or Multi-threaded DLL (/MD).

  6. Stdafx.h に、次の行を追加します。In Stdafx.h, add the following line.

    #using <System.Windows.Forms.dll>
    

/Clr を使用して MFC 拡張 DLL をコンパイルするにはTo compile an MFC extension DLL by using /clr

  1. "に MFC 実行可能ファイルまたはレギュラー MFC DLL をコンパイル/clr を使用して"の手順に従います。Follow the steps in "To compile an MFC executable or regular MFC DLL by using /clr".

  2. 構成プロパティ、横に、ノードを展開C/C++ 選択とプリコンパイル済みヘッダーします。Under Configuration Properties, expand the node next to C/C++ and select Precompiled Headers. 設定プリコンパイル済みヘッダーの作成/使用プリコンパイル済みヘッダーを使用していないします。Set Create/Use Precompiled Header to Not using Precompiled Headers.

    代わりでソリューション エクスプ ローラーStdafx.cpp を右クリックし、クリックしてプロパティします。As an alternative, in Solution Explorer, right-click Stdafx.cpp and then click Properties. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 設定共通言語ランタイム サポートを使用してコンパイルいいえ共通言語ランタイム サポートします。Set Compile with Common Language Runtime support to No Common Language Runtime support.

  3. DllMain およびのものを含むファイルを呼び出してでソリューション エクスプ ローラーファイルを右クリックし、クリックしてプロパティします。For the file that contains DllMain and anything it calls, in Solution Explorer, right-click the file and then click Properties. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 右側のウィンドウで プロジェクトの既定値設定共通言語ランタイム サポートを使用してコンパイルいいえ共通言語ランタイム サポートIn the right pane, under Project Defaults, set Compile with Common Language Runtime support to No Common Language Runtime support.

/Clr を使用して、ATL 実行可能ファイルをコンパイルするにはTo compile an ATL executable by using /clr

  1. ソリューション エクスプ ローラープロジェクトを右クリックし、クリックしてプロパティします。In Solution Explorer, right-click the project and then click Properties.

  2. プロジェクトのプロパティ ダイアログ ボックスで、次に、ノードを展開構成プロパティ選択と全般します。In the Project Properties dialog box, expand the node next to Configuration Properties and select General. 右側のウィンドウで プロジェクトの既定値設定共通言語ランタイム サポート共通言語ランタイム サポート (/clr) します。In the right pane, under Project Defaults, set Common Language Runtime support to Common Language Runtime Support (/clr).

  3. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 確認しますデバッグ情報の形式に設定されているプログラム データベース/Zi (いない /ZI)。Make sure that Debug Information Format is set to Program Database /Zi (not /ZI).

  4. 選択、コード生成ノード。Select the Code Generation node. 設定最小リビルドを有効にするいいえ (/Gm-) します。Set Enable Minimal Rebuild to No (/Gm-). 設定基本ランタイム チェック既定します。Also set Basic Runtime Checks to Default.

  5. 構成プロパティを選択しますC/C++コード生成します。Under Configuration Properties, select C/C++ and then Code Generation. 必ずランタイム ライブラリに設定されているマルチ スレッド デバッグ DLL (/MDd) またはマルチ スレッド DLL (/MD) します。Make sure that Runtime Library is set to either Multi-threaded Debug DLL (/MDd) or Multi-threaded DLL (/MD).

  6. MIDL で生成された、すべてのファイル (C ファイル) 内のファイルを右クリックしてソリューション エクスプ ローラープロパティします。For every MIDL-generated file (C files), right-click the file in Solution Explorer and then click Properties. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 設定共通言語ランタイム サポートを使用してコンパイルいいえ共通言語ランタイム サポートします。Set Compile with Common Language Runtime support to No Common Language Runtime support.

/Clr を使用して、ATL DLL をコンパイルするにはTo compile an ATL DLL by using /clr

  1. /Clr を使用して、ATL 実行可能ファイルをコンパイル"するには」セクションの手順に従います。Follow the steps in the "To compile an ATL executable by using /clr" section.

  2. 構成プロパティ、横に、ノードを展開C/C++ 選択とプリコンパイル済みヘッダーします。Under Configuration Properties, expand the node next to C/C++ and select Precompiled Headers. 設定プリコンパイル済みヘッダーの作成/使用プリコンパイル済みヘッダーを使用していないします。Set Create/Use Precompiled Header to Not using Precompiled Headers.

    代わりでソリューション エクスプ ローラーStdafx.cpp を右クリックし、クリックしてプロパティします。As an alternative, in Solution Explorer, right-click Stdafx.cpp and then click Properties. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 設定共通言語ランタイム サポートを使用してコンパイルいいえ共通言語ランタイム サポートします。Set Compile with Common Language Runtime support to No Common Language Runtime support.

  3. DllMain およびのものを含むファイルを呼び出してでソリューション エクスプ ローラーファイルを右クリックし、クリックしてプロパティします。For the file that contains DllMain and anything it calls, in Solution Explorer, right-click the file and then click Properties. 構成プロパティ、横に、ノードを展開C/C++ 選択と全般Under Configuration Properties, expand the node next to C/C++ and select General. 右側のウィンドウで プロジェクトの既定値設定共通言語ランタイム サポートを使用してコンパイルいいえ共通言語ランタイム サポートIn the right pane, under Project Defaults, set Compile with Common Language Runtime support to No Common Language Runtime support.

関連項目See also

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