苦痛。
Win32プロジェクトを作る。64bit環境なら64bitでdllを作るようにすること。
// Header.hextern"C" { __declspec (dllexport) int Add(int x, int y); }
// Win32Project1.cpp : DLL アプリケーション用にエクスポートされる関数を定義します。//#include "stdafx.h" __declspec (dllexport) int Add(int x, int y) { return x + y; }
ヘッダーは適当なところでincludeしておくといい。
DLLのコピー
UnityのAssets/PluginsにDLLをコピーする。
相互運用のコードを書く
適当なBehaviourあたりに以下のコードを書いたら動いた。
[DllImport("Win32Project1")] privatestaticexternint Add(int x, int y); // Use this for initializationvoid Start() { Debug.Log(Add(10, 20)); }