一.vs版本 2017新建项目
二.C++的实例代码
#pragma once
#if defined (EXPORTBUILD)
# define _DLLExport __declspec (dllexport)
# else
# define _DLLExport __declspec (dllimport)
#endif
extern "C" _DLLExport int __stdcall Add(int a, int b);
_DLLExport class MyTest
{
public:
MyTest();
~MyTest();
int Add(int a, int b);
};
#include "MyTest.h"
#define EXPORTBUILD
int __stdcall Add(int a, int b) {
return a + b;
}
MyTest::MyTest()
{
}
MyTest::~MyTest()
{
}
int MyTest::Add(int a, int b)
{
return 0;
}
三.打包生成两个版本的dll
四.unity端把打包出来的dll放到plugin是目录下
using UnityEngine;
using System.Runtime.InteropServices;
public class Test : MonoBehaviour {
[DllImport("Project1")]
public static extern int Add(int a,int b);
private string m_ShowContent = " hello world !";
void OnGUI() {
if (GUI.Button(new Rect(100, 100, 200, 200), "Test")) {
m_ShowContent = Add(1,2).ToString();
}
GUI.Label(new Rect(100, 50, 200, 50), m_ShowContent);
}
}