Unity调用C/C++代码方法

一般C/C++的代码通过VisualStudio生成.Dll文件,然后在unity中通过C#的代码调用即可。

一,创建C++的项目

Unity调用C/C++代码方法_第1张图片

Unity调用C/C++代码方法_第2张图片

选择动态链接库。输入项目名称以及保存路径之后,点击确定。

这样我们的C/C++项目就创建成功了

Unity调用C/C++代码方法_第3张图片

二,在源文件中创建c/c++代码

Unity调用C/C++代码方法_第4张图片

然后我们需要在我们创建的DllForUnity.cpp中添加代码:

#include "stdafx.h"
#include "DLLForUnity.h"
#include 
#include 
using namespace std;
DLLForUnity_API int _stdcall Delete(int a, int b)
{
	return a / b;
}

我们在里面添加了一个Delete方法。

Unity调用C/C++代码方法_第5张图片

结果是这样的,里面有报错,是因为缺少文件。

三,在头文件中添加DLLForUnity.h

Unity调用C/C++代码方法_第6张图片并在里面添加方法:

#define DLLForUnity_API _declspec(dllexport) //定义宏,后接准备封装的函数
EXTERN_C DLLForUnity_API int _stdcall Delete(int a, int b);// 使用C语言进行编译,封装使用的函数

Unity调用C/C++代码方法_第7张图片

添加完成之后,还需要修改平台的解决方案配置,修改成x64,因为unity平台不支持x86平台

Unity调用C/C++代码方法_第8张图片

 

四,我们就可以生成解决方案了

生成之前,我们还需要修改

Unity调用C/C++代码方法_第9张图片

右击我们的项目,然后点击属性,弹出的就是属性的对话框,然后设置编译的dll文件。

Unity调用C/C++代码方法_第10张图片

最后我们就可以点击生成->生成解决方案

Unity调用C/C++代码方法_第11张图片

生成之后,会显示出生成成功。

Unity调用C/C++代码方法_第12张图片

我们在项目路径下x64的文件夹中就可以看到生成的.dll文件了

Unity调用C/C++代码方法_第13张图片

Unity调用C/C++代码方法_第14张图片

我们把它放入unity项目中调用即可

Unity调用C/C++代码方法_第15张图片

Unity调用C/C++代码方法_第16张图片

切记,发布到Android平台之后一定要修改一下unity中的playerSetting

Unity调用C/C++代码方法_第17张图片

不然的话打包成Apk之后,安卓手机上用不了

你可能感兴趣的:(Unity)