一般C/C++的代码通过VisualStudio生成.Dll文件,然后在unity中通过C#的代码调用即可。
一,创建C++的项目
选择动态链接库。输入项目名称以及保存路径之后,点击确定。
这样我们的C/C++项目就创建成功了
二,在源文件中创建c/c++代码
然后我们需要在我们创建的DllForUnity.cpp中添加代码:
#include "stdafx.h"
#include "DLLForUnity.h"
#include <stdio.h>
#include <iostream>
using namespace std;
DLLForUnity_API int _stdcall Delete(int a, int b)
{
return a / b;
}
我们在里面添加了一个Delete方法。
结果是这样的,里面有报错,是因为缺少文件。
三,在头文件中添加DLLForUnity.h
并在里面添加方法:
#define DLLForUnity_API _declspec(dllexport) //定义宏,后接准备封装的函数
EXTERN_C DLLForUnity_API int _stdcall Delete(int a, int b);// 使用C语言进行编译,封装使用的函数
添加完成之后,还需要修改平台的解决方案配置,修改成x64,因为unity平台不支持x86平台
四,我们就可以生成解决方案了
生成之前,我们还需要修改
右击我们的项目,然后点击属性,弹出的就是属性的对话框,然后设置编译的dll文件。
最后我们就可以点击生成->生成解决方案
生成之后,会显示出生成成功。
我们在项目路径下x64的文件夹中就可以看到生成的.dll文件了
我们把它放入unity项目中调用即可
切记,发布到Android平台之后一定要修改一下unity中的playerSetting
不然的话打包成Apk之后,安卓手机上用不了