最近做unity开发,需要引入自己写的c++dll,记录一下:
1.创建c++win32控制台应用程序程序,程序类型选择为dll,如果你的unity为5.x以上,就选用x64进行编译,生成你自己的dll
在创建dll工程中,记录一下自己遇到的一个问题吧,导出函数声明类似于 extern "C" __declspec(dllexport) int DllTest(),由于我有很多这样的函数,所以每个这么写看起来繁琐,所以我可以声明成这样
extern "C"
{
int __stdcall DllTest();
int __stdcall DllTest1();
}
然后写def文件导出,def文件写法如下
LIBRARY "MyDll"
EXPORTS
DllTest@1
DllTest1@2
需要注意一点是用def文件写导出的时候,用添加文件向导的方式添加,
2.生成的dll拷贝到unity工程 plugins目录下面,我用的unity5.6,所以需要拷贝到plugins/x64目录下,没有就自己创建一个
3.c#调用dll函数,声明类似于下
[DllImport("MyDll")]
public static extern int DllTest()
{
}