チュートリアル: Visual Studio で CLR をターゲットにした C++/CLI プログラムをコンパイルする
C++/CLI を使用すると、.NET クラスとネイティブの C++ 型を使用する C++ プログラムを作成できます。 C++/CLI は、ネイティブ C++ コードをラップして .NET プログラムからアクセスできるようにするコンソール アプリケーションと DLL で使用することを目的としています。 .NET に基づく Windows ユーザー インターフェイスを作成するには、C# または Visual Basic を使用します。
この手順では、独自の C++ プログラムを入力するか、いずれかのサンプル プログラムを使用できます。 この手順で使用するサンプル プログラムでは、textfile.txt という名前のテキスト ファイルを作成し、プロジェクト ディレクトリに保存します。
前提条件
- C++ 言語の基本の理解。
- Visual Studio 2017 以降では、C++/CLI のサポートはオプション コンポーネントです。 これをインストールするには、Windows の [スタート] メニューから Visual Studio インストーラーを開きます。 [C++ によるデスクトップ開発] タイルのチェック ボックスがオンになっていることを確認し、[オプション] コンポーネント セクションでも [C++/CLI サポート] チェック ボックスをオンにします。
新しいプロジェクトの作成
次の手順は、使っている Visual Studio のバージョンによって異なります。 優先するバージョンの Visual Studio のドキュメントを表示するには、 [バージョン] セレクター コントロールを使用します。 このページの目次の一番上にあります。
Visual Studio で C++/CLI プロジェクトを作成するには
ソリューション エクスプローラーの上部を右クリックして、[新しいプロジェクトの作成] ダイアログ ボックスを開きます。
ダイアログの上部にある検索ボックスに「 CLR 」と入力し、結果一覧から [ CLR Empty Project (.NET Framework) を選択します。
[作成] ボタンをクリックしてプロジェクトを作成します。
Visual Studio 2017 で C++/CLI プロジェクトを作成するには
新しいプロジェクトを作成します。 [ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。
Visual C++ プロジェクトの種類から、[CLR]、[CLR 空プロジェクト] の順にクリックします。
プロジェクト名を入力します。 既定では、プロジェクトを含むソリューションは新しいプロジェクトと同じ名前になりますが、別の名前を入力してもかまいません。 必要に応じて、プロジェクトの場所として別の場所を入力することもできます。
[OK] をクリックして、新しいプロジェクトを作成します。
Visual Studio 2015 で C++/CLI プロジェクトを作成するには
新しいプロジェクトを作成します。 [ファイル] メニューの [新規作成] をポイントし、 [プロジェクト] をクリックします。
Visual C++ プロジェクトの種類から、[CLR]、[CLR 空プロジェクト] の順にクリックします。
プロジェクト名を入力します。 既定では、プロジェクトを含むソリューションは新しいプロジェクトと同じ名前になりますが、別の名前を入力してもかまいません。 必要に応じて、プロジェクトの場所として別の場所を入力することもできます。
[OK] をクリックして、新しいプロジェクトを作成します。
ソース ファイルを追加する
ソリューション エクスプローラーが表示されていない場合は、[表示] メニューの [ソリューション エクスプローラー] をクリックします。
プロジェクトに新しいソース ファイルを追加します。
ソリューション エクスプローラーで、[ソース ファイル] フォルダーを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
[C++ ファイル (.cpp)] をクリックしてファイル名を入力し、[追加] をクリックします。
ソリューション エクスプローラーのソース ファイル フォルダーに .cpp ファイルが表示されます。また、タブ付きウィンドウが表示され、ここでそのファイル内に含めるコードを入力します。
Visual Studio で新しく作成されたタブをクリックして、有効な Visual C++ プログラムを入力するか、サンプル プログラムのいずれかをコピーして貼り付けます。
たとえば、(プログラミング ガイドのファイル処理と I/O ノード内の) 「方法: テキスト ファイルを記述する (C++/CLI)」サンプル プログラムを使用できます。
サンプル プログラムを使用する場合は、.NET オブジェクトを作成するときに、
new
の代わりにgcnew
キーワードを使用することと、gcnew
がポインター (*
) ではなくハンドル (^
) を返すことに注意してください。StreamWriter^ sw = gcnew StreamWriter(fileName);
C++/CLI 構文の詳細については、ランタイム プラットフォーム用のコンポーネントの拡張機能に関するページを参照してください。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
[出力] ウィンドウに、ビルド ログの場所やビルドの状態を示すメッセージなど、コンパイルの進行状況に関する情報が表示されます。
ビルドを行わずに、プログラムを変更して実行する場合、ダイアログ ボックスにプロジェクトが有効期限切れであることが示される場合があります。 Visual Studio がアプリケーションをビルドするたびに入力を求めるのではなく、常にファイルの現在のバージョンを使用するようにする場合は、このダイアログでチェック ボックスを選択してから [OK] をクリックします。
[デバッグ] メニューの [デバッグなしで開始] をクリックします。
サンプル プログラムを使用した場合は、プログラムを実行するときに、テキスト ファイルが作成されたことを示すコマンド ウィンドウが表示されます。
これで textfile.txt テキスト ファイルがプロジェクトに配置されました。 このファイルはメモ帳を使用して開くことができます。
Note
空の CLR プロジェクト テンプレートを選択すると、
/clr
コンパイラ オプションが自動的に設定されます。 これを確認するには、ソリューション エクスプローラーでプロジェクトを右クリックして、[プロパティ] をクリックしてから、[構成プロパティ] の [全般] ノードで [共通言語ランタイム サポート] オプションを確認します。