2015-10-02 69 views
0

我已經將一個DLL導入Unity,並且我確信它已成功導入。我已經定義的DLL文件統一使用,但是隻要它被調用的函數,統一拋出了我:嘗試在Unity 5中使用DLL特定功能時出錯

DllNotFoundException: k8055d.dll

DLL的功能是通過

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

定義,我得到的錯誤時這條線運行:

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

我知道它已經找到了DLL是,如果我設置爲進口設置中同時使用x64和x86架構的DLL,我得到這個錯誤的原因:

Failed to load 'Assets/Plugins/k8055d.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386. You must recompile your plugin for 64 bit architecture.

但是,當我將它設置爲僅在導入設置中使用x86體系結構時,此錯誤消失,控制檯僅提供DLLNotFoundException。

關於DLL的信息可以在here找到。

回答

0

IMAGE_FILE_MACHINE_I386. You must recompile your plugin for 64 bit architecture.的第一個谷歌結果告訴您嘗試安裝和使用32位版本的Unity(編輯器)來處理您的32位DLL (right here)。 第二次爲您的特定DLL搜索(「K8055D.DLL x64」)帶來了一個論壇帖子,其中一些人編譯你的DLL爲X64(here,直接下載鏈接here),也有趣的東西在here。希望這給你一些指點。