问题描述:最近开发需要调用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的运行环境了。