关于C#调用matlab生成的dll的一些经验(亲测)
先借用一些老前辈的经验,废话不多说,总之遇到过如下问题
1.安装matlab 2014b 版本的,因为软件需要破解,所以开始没破解完善,经过辗转终于找到完美破解并能生成dll的方法,方法我会贴出来
2.生成dll 过程遇到很多坑,后来发现并解决,生成一个dll 那允许有多个方法的情况(matlab很坑啊,一个方法一个m文件)
3.C#调用的坑,调用的时候只提示给我一个dll但实际上要引用两个生成的一个系统的,具体方法也会贴出来
总结:最后经过辗转反侧是终于实现了,如果有问题大家可以讨论,下面上干货
关于问题1:
其采用的方法就是利用一个叫做MATLAB R2014a Patch的软件,但由于本人的软件版本是MATLAB R2014b,因此这个软件貌似并没有什么用。
进一步了解出现这种情况的的原因是第一次安装时破解不完全造成的,因此楼主就百度“MATLAB 完全破解文件”
关于软件的下载这里贴出来,2014b_crack_mcc_fixed.zip (3.79 MB) 自己去下载就行
替换之前一定做好备份,楼主替换之前就没有备份,但是替着替着MATLAB就不能运行了,好在舍友装的版本和我一样,直接从他的安装目录下考出替换的文件覆盖就行,就这样试了很多次(并非盲目地试),终于解决了,废话说到这,下面是操作步骤。
有用的文件:libmwservices.dll ;license.lic 其实真的就这俩
1. 备份libmwservices.dll
,到你的安装目录下:MATLAB\R2014b\bin\win64,找到该文件,复制出来即可;
2. 将附件中的libmwservices.dll文件,考到上步的目录中覆盖;
3. 运行MATLAB,你会发现你的MATLAB已经处于没被激活的状态,按照提示选择用license文件激活,并选择附件中的license.lic文 件,用于激活;
4. 运行程序测试,这时如果不出意外的话,应该能运行">>mcc -m mfilename"
关于问题2:
直接上步骤
命令行窗口运行deploytool,点击Library Compiler
我感觉图片足以说明一切,出了代码以外,如果连matlat代码不会写,那就请教其他大神吧。我也是抄的。
关于第三个问题:C#调用
项目引用我就不说了吧,,另外一个注意地方,如果你matlab引用版本是X64 的你项目一定要在属性生成部分设置成X64,不然会报错!报错!报错!
调用的时候名字很重要,类名在前面设置了,方法名就是 那个m文件的名字,尤其是参数 他提示MWArray ,这个类型我翻看了一下,没啥就按你想要的类型写就行。我是按int
代码如下
1 2 | matlabLibrary m = new matlabLibrary(); Rlc =m.reliabilityImport(n, r, c); |
因为我的Rlc 是个字符串,就直接成字符串了。参数自己研究哈!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?