Jan 20
C++/CLIでなでしこのプラグインを作る方法(Visual C++ Express Edition)
なでしこでプラグインを作る時にC#を使いたかったので、その前段階としてC++/CLIでプラグインを作る方法を探ってみました。
C++/CLIが使えると、.Netを使えるようになり、C#で作ったdllもVC++の参照設定から読み込んで使えるようになります。
なでしこにはC++でプラグイン開発するためのsdkがあります
ただし、VC++で使用するには
なでしこ質問掲示板
にあるような設定をしなければいけません。(以下引用)
1.Win32プロジェクトを作成 2.plugins_sdk_cからソースを追加 3.dnako_import.defを作成(内容は後述) 4.すべての構成でプロジェクトのプロパティを修正 全般→文字セットを「マルチ バイト文字セットを使用する」に変更 リンカ→入力→モジュール定義ファイルに「dnako_import.def」と入力 5.ビルド //dnako_import.def //これをメモ帳などでプロジェクトのフォルダに保存してください。 EXPORTS ImportNakoFunction PluginInfo PluginVersion PluginRequire PluginInit PluginFin
実際こちらで試した場合は他にも4の箇所で
全般→共通言語ランタイムサポートを「共通言語ランタイムサポートを使用しない」に C/C++→プリコンパイル済みヘッダー→プリコンパイル済みヘッダーの作成/使用を「プリコンパイル済みヘッダーを使用しない」に
変更が必要でした。
ただし、この方法だとC++/CLIを使えないので、.Netを使うことは出来ません。そこで、次のように変更しました。
sdkに含まれる.cファイルを全て.cppに変更 dnako_import\let.h内にある各GetProcAddressの第一引数hDllをstatic_castでHMODULE型にキャスト
すると問題なくビルドが通り、.Netを使用することが出来ました。と言っても現在MessageBoxを試した程度ですが。
作成したsdkをVC++のソリューションとして下に置いておきますので、宜しければ試してみて下さい。
SDKダウンロード
さて、これでC#のdllを使えるようになるぞ!と思ってやってみた訳ですが・・・続きます