Unity使用DLL库

Unity3D 能够很方便的集成一些外部插件,以便调用现有的动态链接库。下面会介绍Unity中如何集成Dll的两种方法。
1. 
标准引用
这里所使用的语言是C#。

1.1 新建C#类库项目,这里就不多介绍了。

1.2 项目建好后正常的编写代码

以上是一个简单的测试代码。

1.3 将项目属性 -> 应用程序 -> 目标框架:改为 .NET Framework 3.5或以下 。这一步很重要,因为Unity3D(当前的Unity3D版本是3.5版) 支持的 .Net 是3.5版。

如果选择的是4.0版会出现

Internal compiler error. See the console log for more information. output was:Unhandled Exception: System.TypeLoadException: Could not load type ‘System.Runtime.Versioning.

错误。

1.4 生成解决方案。到此,C# Dll工作完成。

1.5 导入Dll到Unity中。将Dll拷贝到Assets目录下任何一个目录都可以。一般是在Plugins目录中,因为Dll大多是外部功能块,同时也方便跨语言调用。

1.6 在Unity中编写简单代码。

1.7 运行结果。

2. Unity的方案

官网指出,Unity已经广泛支持基于C,C++或者Objective-C语言的插件。

原文说明http://docs.unity3d.com/Documentation/Manual/Plugins.html

以下示例可从官网获得,下载示例代码http://docs.unity3d.com/Documentation/Images/manual/SimplestPluginExample.zip
2.1 编写插件代码。

2.2 在Unity要做些什么。

注意:在[DllImport ("ASimplePlugi")] 参数中不要加入 .dll 后缀。
2.3 运行结果如下

Unity中 DLL调试

http://blog.csdn.net/green_tea_great/article/details/46049983

时间: 2024-10-12 21:28:07

Unity使用DLL库的相关文章

Unity4.5版本DLL库名字问题

  背景 在unity4.2版本中可以在Android中使用的so链接库,在Unity4.5中使不了-- [DllImport("libclient.so", EntryPoint = "readFifo")] private static extern int readFifo(int clientFd); 原因 最初一直以为是So的编译问题,结果测试几个之后还是一样,代码什么都不动,转换到4.5发布之后就不行.昨天发现这段话: If you have contr

vc下DLL项目设置dll和lib库输出路径以及使用lib/dll库时的包含路径

include 头文件包含路径设置: project->setting->C/C++->常规: Additional include directories(附加包含目录): ../../include等等 链接文件输出目录:    project->setting->配置属性->常规:输出目录 例如:输出目录:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName) 解释:项目目录-Temp-Link-工程

c# 使用ZXing.dll库生成二维码

最近工作中有需要一个需求,就是把一个服务地址生成二维码,可以用来扫码分享,网上找了下方法也比较多,我这里po一下调用ZXing.dll库生成二维码的方法吧.先简单介绍一下 ZXing库,ZXing库是一个开源Java类库,可用于生成和解析多种格式的1D/2D条形码:zxing遵循Apache License 2.0,只是工具而已,是不收费哒. ZXing库的下载地址:http://zxingnet.codeplex.com/ 点击下载,下载后解压压缩包: 把Zxing加到工程应用中,以下为核心代

Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库

1. Interop.Excel.dll 的查找 本文中将 Microsoft.Office.Interop.Excel.dll库简称为Interop.Excel.dll库 其实在使用Visual Studio进行Office的Excel开发时,Microsoft.Office.Interop.Excel.dll 可以在类似于下面的目录中找到.并不需要再在网上下载了. E:\Program Files\Microsoft Visual Studio 11.0\Visual Studio Tool

windows编程,加载dll库示例

生成dll库 #include<Windows.h> //导出函数,可以加载的时候调用 _declspec(dllexport) void msg() { MessageBoxA(0, "1", "2", 0); } //导出函数,可以加载的时候调用 _declspec(dllexport) int add(int a, int b) { return a + b; } 调用dll库 #include<Windows.h> #include&

c#调用c++dll库调用约定问题

DEBUG 错误现象提醒 Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling co

使用FireBreath生成的.dll库出现“*.dll模块加载失败”

好不容易可以再FireBreath里面使用sip库eXosip. 在本地使用没有问题,但是在别的机子上面安装.dll库的时候就出现了问题: 我猜想,可能是和我加入的库有关系,之前没有加入其它的库的时候,是成功的. 于是,我把eXosip的里面2个动态库放进来,奇迹出现了 Windows下面对静态库和动态库的使用还不是很清楚...

dll库生成和使用

抄自http://www.cnblogs.com/fangyukuan/archive/2010/06/20/1761464.html 1. VS2010中新建Win32-Win32项目,输入名称DllDemo 2. 选择DLL,点击完成 3. 在DllDemo.cpp中加入: // DllDemo.cpp : 定义 DLL 应用程序的导出函数. // #include "stdafx.h" //使用关键字_declspec(dllexport)来声明外部引用的函数 extern &q

lib库dll库的使用方法与关系

一.lib库 lib库有两种:一种是静态lib(static Lib),也就是最常见的lib库,在编译时直接将代码加入程序当中.静态lib中,一个lib文件实际上是任意个obj文件的集合,obj文件是cpp文件编译生成的. 另一种lib包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供.也就是平时编写dll时附带产生的lib,其中Lib只是Dll的附带品,是DLL导出的函数列表文件而已. 共同点:两者都是二进制文件,都是在链接时调用,使用stati