记一次c#调matlab时初始化异常的解决过程

本文记录了一次使用C#调用MATLAB编译的DLL时遇到的初始化异常问题。由于MCR版本不匹配,导致运行错误。通过下载正确的MCR版本,调整环境变量顺序,最终成功解决这个问题,强调了在处理多版本MCR时环境变量设置的重要性。
摘要由CSDN通过智能技术生成

背景:

用matlab(R2014b)写了一个函数,要给公司的平台调用,公司平台用c#编写,使用的MCR为7.17,因此用同事电脑上的R2012版matlab编译成dll,给上层同学调用,结果发现了一个异常:

... MWMCR::EvaluateFunction error ... 
Error using hough
Too many input arguments.
Error in => InsulatorDetect.m at line 98.

是说hough变换函数的输入参数太多,  然后我就懵比了,为啥我这边的matlab运行好好的,编成dll就输入参数太多了。 

于是,我决定在自己电脑上跑一下。


那么问题来了,首先的问题是MCR版本不一致,所以直接运行会报“初始化异常”的错,于是下载MCR7.17,加入环境变量,再跑,还是不行,提示找不到dll“mclmcrtrt7_17.dll”,显然还是没找到刚安装的MCR7.17, 各种百度无果后仔细想了想,发现自己之前装的2014的MCR是8.4,之后又单独装了7.17的MCR,但是在环境变量中后面装的MCR路径是在原M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值