Matlab与C++混合编程

撰写人:雪痕姐姐
撰写时间: 2020年6月29日


环境:Win10 64位操作系统,Matlab R2010b,VS 2010(C++) ,Qt 5.3.2
流程:编写matlab的m文件——将m文件打包成动态链接库dll
——使用C++调用dll——输出计算结果和图像

1 编写.m文件

打开matlab,选择一个工作区间(Current Folder),右击空白处,选择New File—>Function,此处我们先测试一些简单的功能(如有需要还需测试matlab界面是否正常显示,中文是否乱码等),以加法为例,方法名为myAdd.m,测试简单的加法,输入a,b,返回c,m文件代码如下:

function c=testAdd(a,b)
c=a+b;
end

在命令窗口运行一下,没有问题,就可以进行打包了。如图所示:
在这里插入图片描述

2 将m文件打包成动态链接库dll

matlab命令讲解:
mcc 将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex
mex 将C/C++文件(入口函数为mexfunction())编译成MEX(DLL)文件(需要C/C++编辑器)
mbuild 将C/C++文件(入口函数为main())生成可独立运行的C应用程序(需要C/C++编辑器)
输入命令:
mex -setup
选择编译器:Microsoft Visual C++ 2010
mbuild -setup
选择编译器:Microsoft Visual C++ 2010

将myAdd.m文件打包,库名为libMyAdd命令:
mcc -W cpplib:libMyAdd -T link:lib myAdd.m
打包完成后会生成好几个文件,如图所示:
链接库
其中readme.txt是动态链接库的调用说明书,libMyAdd.h,libMyAdd.dll,libMyAdd.lib这三个文件是C++项目调用过程中需要用到的。新建include,dll,lib三个目录,将.h文件放在include目录下,.dll文件放在dll目录下,.lib文件
放在lib目录下。

3 C++调用动态链接库

由于要在客户机上运行,我们只需安装MCR(MATLAB Compiler Runtime)即可,故项目头文件,库文件引用路径我们设置为MCR的路径,而不是MATLAB的路径。
MATLAB 2010B中MCR的版本要求7.14。
3.1 MCR安装与环境配置
(1)安装MATLAB Compiler Runtime (MCR),版本要求7.14。
双击“MCRInstaller.exe”,安装MCR。默认安装路径为:C:\Program Files (x86)\MATLAB\MATLAB Compiler Runtime。
(2)配置环境变量
选择我的电脑——属性——高级系统设置——环境变量,如图所示:
环境变量
新建系统变量,变量名:MCR,变量值:MCR安装路径\v714\extern;默认如图所示:
在这里插入图片描述
选择系统变量——Path:新建MCR运行目录:MCR安装目录 \v714\runtime\win32。默认为C:\Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v714\runtime\win32。如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值