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

时间:2018-09-17 14:58:31

标签: visual-studio matlab unity3d

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

我在Visual Studio下进行了测试,效果很好。我没有问题阅读dll并调用mycos.dll类。我在MWArray和mycos上创建了两个引用的典型c#项目。

但是当我尝试统一时,通过将两个dll放在plugins文件夹下并在.NET 4.0上配置unity 2018,因为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中编码的,具有高级高级数学功能,因此很难与c#统一编码。因此,简单的方法是使用来自matlab编译器的编译包。那么有人已经这样做了吗?

1 个答案:

答案 0 :(得分:0)

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