C# matlab混合编程时出现的异常解决方法

最近项目涉及到用编好的matlab函数生成dll文件供C#调用,其中出现了许多问题,现在我将这些问题汇总,写篇博文。


1.使用deploytool工具生成的dll文件后,C#调用dll文件出现“未找到或是无法加载dll”文件的错误


此类错误一般都是.NET版本的错误,需要做的是首先将matlab complier的环境变量设置好,我的路径是:d:\Program Files\MATLAB\MATLAB Compiler Runtime\v717\runtime\win64。将此路径添加到环境变量中。


然后matlab中输入deploytool命令出现对话框,注意在Project-》Build之前记得打开Project->settings,然后将其中的.NET版本设置成3.5版本,有些较老的VS可能不能识别.NET4.0

这样,基本不会出现上述的错误。


2.调用dll后运行时出现异常

为了能让matlab识别数组类型,需要用到MWArray.dll文件,MWArray.dll文件可以在matlab安装路径下找到,例如:
D:\ProgramFiles\MATLAB\R2010b\toolbox\dotnetbuilder\bin\win32\v2.0MWArray是用来将C#数据类型转换为matlab能够识别的类型。


这种情况一般是需要配置matlab runtime,与上述方法基本相同,如果不行的话,建议使用老版本的VS比如VS2008,这样问题基本可以解决。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值