Unity3D调用.DLL文件

来源:互联网 发布:手机淘宝开店 编辑:程序博客网 时间:2024/05/17 13:45

首先我们自己动手创建一个.DLL文件

工具:VS(VS2013)、Unity(Unity5.2.2)

一.打开VS,新建项目


选择Wint32控制台应用程序


选择DLL和空项目


右键点击添加类


在这里类命名为CallByUnity,点击确定,将生成CallByUnity.h和CallByUnity.cpp


在CallByUnity.h中修改代码为如下图:


#if defined (EXPORTBUILD)  # define _DLLExport __declspec (dllexport)  # else  # define _DLLExport __declspec (dllimport)  #endif    extern "C"  int _DLLExport AddNumber(int x,int y);  


在CallByUnity.cpp中修改代码为如下图:

CallByUnity.cpp

#define  EXPORTBUILD    //加载头文件  #include "CallByUnity.h"    //设置函数  int _DLLExport AaaNumber(int x,int y)  {      return x+y;  }  

此时运行程序,将生成HelloWord.DLL文件


注意:

如果运行VS后发现报错,将可能是预编译宏有问题

右键点击项目->属性->预编译宏->编辑->添加“EXPORTBUILD”



二.打开Unity

在Assert目录下添加一个文件固定命名为“Plugins”(plugin插件意思)

将上一步生成的.dll文件添加到里面



添加一个C#脚本,这里命名为HelloUnity

HelloUnity.cs

using UnityEngine;      using System.Collections;      using System.Runtime.InteropServices;      public class NewBehaviourScript : MonoBehaviour {      //导出.dll文件函数    [DllImport ("DLL")]        private static extern int AddNumber(int x,int y);        int i = AddNumber(5,7);           void OnGUI()       {          GUI.Button(new Rect(1,1,200,100),"i value is '"+i+"'");      }  } 

运行后将在显示值为12


注意:

在打包时候如果运行保存,在打包目录下添加Plugins目录,再将.dll文件放进去

0 0