(1)Visual Studio 2022 でソリューションを新規作成する。


(2)プロジェクトに、以下のファイル、ヘッダを追加する。

ncbind.cpp, tp_stub.cpp, ncbind.hpp, ncb_foreach.h, ncb_invoke.hpp, tp_stub.h


(3)自動的に追加されたソースファイル( DllMain() が含まれているもの)をプロジェクトから削除する。


(4)Visual Studio 2022 でソリューションのプロパティを開き、以下の点を修正する。

  • 構成プロパティ>C/C++>コード生成>ランタイム ライブラリを「マルチスレッド/MT」もしくは、「マルチスレッド デバッグ/MTd」にする。
  • 構成プロパティ>C/C++>言語>準拠モードを「規定」にする。


(5)吉里吉里からアクセスしたいメソッドを含むクラスをソースファイル中に作成する。その際、クラスのメソッドは、コンストラクタ、デストラクタも含め、全て public: スコープ内に明示してクラスを定義する。


(6)吉里吉里からアクセスしたいメソッドとクラス名を、以下の様に記述する。(下の例では、 foo クラスの bar メソッド)。

NCB_REGISTER_CLASS(foo) {

     NCB_CONSTRUCTOR(());

     NCB_METHOD(bar);

};

以上で、吉里吉里側から、以下の様にして呼び出すことができるようになる。

Plugins.link("foo.dll");

var a = new foo();

var a.bar();