コンソールアプリケーションでC++/CLIの関数を使う

公開日: : .NET, C/C++

スポンサーリンク

今時(?)なかなか使っている人がいるかどうかわかりませんが、VisualStudio(2008)で「Win32 コンソールアプリケーション」プロジェクトでもC++/CLIのクラスやメソッドを使えるようにする方法です。

基本的な変更

まずは作成したプロジェクトの「ソリューションエクスプローラ」のプロジェクトのアイコンを右クリックして一番下の「プロパティ」を選択します。

vs2008property

するとプロジェクトのプロパティページが出てくるので左上の「構成(C)」を「すべての構成」にしてから、「構成プロパティ」の「全般」の「共通言語ランタイムサポート」の項目を「共通言語ランタイムサポート(/clr)」に変更します。

vs2008runtime

ここで他の「(/clr:pure)」や「(/clr:safe)」などがあったと思いますがこれはコンパイルの方法が変わるもののようです。

参照の追加

上記の方法でCLIの文法が使えるようになったのですが、例えば画像を取り扱えるBitmapクラスなどの一部の機能は使うことができません。これを使うにはその内容が記述されたコンポーネントをプロジェクトに追加する必要があります。

今回はこのBitmapクラスを使えるようになる「System.Drawing」コンポーネントを追加してみます。

先ほどと同じようにプロジェクトのプロパティを開き、「共通プロパティ」の「Frameworkと参照」の項目の「新しい参照の追加」ボタンを押します。

vs2008refadd

すると「参照の追加」ダイアログが出現しますので「.NET」の項目から「System.Drawing」を選びOKボタンを押します。

vs2008systemadd

これで参照が追加され、Bitmapクラスが使えるようになりました。こんな感じで必要なクラスの入っているものを参照してください。

スポンサーリンク
Amazon
  • このエントリーをはてなブックマークに追加

関連記事

【C++/CLI】フォームアプリケーションでコンソール画面を出現させる

プロジェクトのプロパティを開いて「構成プロパティ」→「リンカ」→「システム」の「サブシステム」を「コ

記事を読む

no image

【C# .NET】エラー CS0051: アクセシビリティに一貫性がありません。

クラスなどの宣言時にpublicなどが付いていないために起こっているみたいです。 アクセス制限

記事を読む

【C#】WebBrowserでリンクをクリックしたときにIEなどの他のブラウザが立ち上がるのを防ぐ

C#でWebBrowserでブラウザ機能などを作って、リンクを踏んだ時に他の標準のブラウザが開いてし

記事を読む

no image

【C++】既に main.obj で定義されています

error LNK2005: 既に main.obj で定義されています。 fatal error

記事を読む

【C# .NET】DataGridViewのコンボボックスの中身を動的に変更・追加する

データグリッドビューのコンボボックスの中身を変えるときの一番簡単な方法です。おそらく通常だとデータ配

記事を読む

【C#】データグリッドビュー上で右クリックしたときに位置に応じてコンテキストメニューの中身を変更したい

DataGridView上でクリックした位置によってコンテキストメニューの内容を変えたいと思ったので

記事を読む

【C言語/C++】配列をシャッフルしてランダムに入れ替える

C言語・C++で配列をシャッフルする方法 Fisher–Yatesシャッフルアルゴルズムにより配列

記事を読む

【C++】vectorの解放

C++STLにあるvectorは配列の要素数がわからない場合などに非常に便利ですがメモリ関係で面倒だ

記事を読む

【C言語】fopenが失敗するエラー

ファイル操作に使うfopenがどうしても失敗してしまい困っていました。既に開かれているファイルを開く

記事を読む

【C言語】fscanfでファイルを1行ずつ読み込む

C言語のfscanfでCSV形式(単純なカンマ区切り)のファイルを読み込むサンプル。 基本的なこと

記事を読む

NVIDIA DIGITSをSupervisorを使って自動起動する

はじめに 先日Ubuntu14.04にDIGITS 5をGPUなしP

【2017年度】GeForce 1080 Ti搭載BTOパソコン比較

はじめに 最近ディープラーニング用にGPUのないPCにDIGITSを

Windows用のシンプルなストップウォッチソフト紹介

Windows(10)でも使える使いやすいKAZAMITimerという

MNISTをDIGITS 5のCPUのみで試す(GPUなし)

はじめに DIGITSを使えばGUI操作で簡単にディープラーニングが

Windowsユーザが初めてMacBookを購入したときの注意点や感想

最近12インチのMacBookを購入しました。今までWindowsしか

Redmine3.2をUbuntu14.04にインストールして躓いた所についてメモ

はじめに Ubuntu14.04 ServerにRedmine3.2

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑