尝试在Unity 5中使用DLL特定功能时出错

时间:2015-10-02 09:10:24

标签: c# dll unity3d import

我已将DLL导入Unity,我相信它已成功导入。我在DLL上定义了一个函数供Unity使用,但无论何时调用它,Unity都会抛出一个:

  

DllNotFoundException:k8055d.dll

DLL的功能是通过

定义的
[DllImport("k8055d")]
public static extern int Version();

并且在运行此行时出现错误:

Debug.Log (Version().ToString());

我知道它发现DLL的原因是如果我将DLL设置为在导入设置中同时使用x64和x86架构,我会收到此错误:

  

无法加载'Assets / Plugins / k8055d.dll',预期的64位架构(IMAGE_FILE_MACHINE_AMD64),但是IMAGE_FILE_MACHINE_I386。您必须重新编译64位架构的插件。

但是当我将它设置为仅在导入设置中使用x86架构时,此错误消失,控制台只提供DLLNotFoundException。

可以找到有关DLL的信息here

1 个答案:

答案 0 :(得分:0)

IMAGE_FILE_MACHINE_I386. You must recompile your plugin for 64 bit architecture.的第一个google结果告诉您尝试安装并使用32位版本的Unity(编辑器)来处理32位dll (right here)。 谷歌搜索第二次你的特定DLL(“K8055D.DLL x64”)会打开一个论坛帖子,其中一些人编译你的dll for x64(here,直接下载链接here)以及有趣的东西去在here。希望这能给你一些指示。