C#调用Matlab生成的Dll

问题描述:最近开发需要调用matlab生成的DLL,在New MWNumericArray 对象的时候报错,提示未将对象引用到对象的实例。

问题分析:因为MWArray.dll是Matlab提供的DLL所以需要Matlab的运行环境。

解决方法如下:

1、下载matlab的对应版本的运行环境 MRC

 网址如下:http://www.mathworks.com/products/compiler/mcr/index.html

版本和网址可以在Matlab生成的DLL的文件夹的readme.txt文件里面找到。安装操作也可以按照里面的来执行。

我选的是32位的MRC

2、引用MWArray.dll

    在项目中除了需要引用matlab生成的DLL外还需要引用MWArray.dll,它在MRC的安装目录下:

C:Program Files (x86)MATLABMATLAB Compiler Runtimev80 oolboxdotnetbuilderinwin32v2.0

3、注册mwcomutil.dll

     这步比较重要,因为我之前出现问题就是第3步没有实现。

    在运行里面输入:register32 C:Program Files (x86)MATLABMATLAB Compiler Runtimev80 untimewin32mwcomutil.dll

    重新启动电脑即可。

初始化MWNumericArray 对象的时候应该就不会报错了,这个时候就有Matlab的运行环境了。

原文地址:https://www.cnblogs.com/GIScore/p/5385865.html