Mwarray.dll for Unity - 如何使用它?



我对MWArray.dll有问题,它是从Matlab编译的mathworks的原始dll库。这个dll在Visual Studio下工作,但在unity下不工作。目标是在matlab下编译一个简单的函数mycos,它计算余弦并在与第二个dll MWArray mathworks库的统一下使用它。

我在Visual Studio下做了一个测试,效果很好。我没有问题阅读 dll 并打电话给 mycos.dll 类。我做了一个典型的 c# 项目,有两个关于 MWArray 和 mycos 的参考。

但是当我尝试在 Unity 下时,通过将两个 dll 放在插件文件夹下并在 .NET 2018 上配置 unity 4.0 时,因为 dll 是使用 .NET Framework 4.0 编译的。

Unity 可以读取 dll,但在运行时出现错误:

NotImplementedException: The requested feature is not implemented. 
System.Security.Principal.WindowsIdentity.GetCurrent (Boolean ifImpersonating) 
(at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs:166)

如果我想将 matlab 用于一个研究项目,该项目是在 matlab 中编码的,具有高级高级数学函数,在 Unity 与 c# 的统一下很难重新编码。所以简单的方法是使用来自 matlab 编译器的编译包。那么有人已经这样做了吗?

该解决方案包括不使用 MWArray.dll 在 Unity 项目中,因为与 Mono 不兼容。创建一个Visual Studio项目(创建新的时选择类型"控制台应用程序"(,它必须与unity项目目录分离,并将其用作应用程序服务器;实际上,在该应用程序中,您可以使用MWArray.dll,请记住,您必须将项目配置配置为x64!!在 Unity 项目中,创建一个客户端应用以与其他服务器项目进行通信。

最新更新