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)\MATLAB\MATLAB Compiler Runtime\v80\toolbox\dotnetbuilder\bin\win32\v2.0

3、注册mwcomutil.dll

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

在运行里面输入:register32 C:\Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v80\runtime\win32\mwcomutil.dll

重新启动电脑即可。

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

上一篇:zxing 生成二维码


下一篇:win7_oracle11g_64位连接32位PLSQL_Developer