使用Unity3d的原生插件Mac OSX Dll notfoundexception

时间:2013-12-24 11:43:17

标签: macos plugins mono unity3d dllnotfoundexception

我正在尝试将第三方原生插件与 unity3D 集成。为了使用它,我将一个c#插件作为包装器dll。当我手动将插件二进制文件与我的EXE文件一起复制到构建文件夹时,该插件可以与PC独立工作。我已经使用调试配置进行插件构建过程。

问题是:

  • 当我进行mac OS X构建时,我得到 DllNotFoundException 。我的c#插件文件位于“\ Contents \ Data \ Managed”的应用程序中,以及其他与统一相关的插件,这意味着Unity会识别我的包装器插件,但不会复制本机插件。

已经尝试过的事情:

  • 我还在 Assets / Plugins / 文件夹中复制了本机插件,因为它们也包含在构建中,但Unity在构建中不包含它们。

  • 我尝试将我的原生插件放在“ \ Contents \ Data \ Managed ”文件夹中以及应用程序的其他文件夹中,但仍无法找到dll。

  • 我尝试使用本机插件附带的dylib文件,以及我的包装器插件,但它不起作用。

  • 我尝试在“ \ Contents \ Data \ Managed \ etc \ mono ”的配置文件中使用dllmap  也是,但它没有用。

我没有想法。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我可以将dll地图添加到此处的单声道配置文件中: Your.app/Contents/Data/Managed/etc/mono/config

我添加了以下内容:

<dllmap dll="phidget21.dll" target="/Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21" />

确保Phidg​​et21.framework存在于/ Library / Frameworks ..