Visual Studio调用matlab的二种方式及区别

VS调用matlab的方式有两种:

方式1调用MATLAB引擎

首先,添加头文件 #include "engine.h"

然后,引用函数调用依赖库(lib) libeng.lib libmx.lib libmat.lib,之后就可以调用MATLAB引擎。

方式2调用MATLAB生成的dll

调用MATLAB生成的DLL是一种比较通用的方法,这样每次使用时只需调用这个模块就可以了。

(1)首先确认MATLAB已经完成VS配置、系统环境变量配置以及MATLAB编译器配置。

(2)将需要MATLAB完成的功能做成一个MATLAB函数。

(3)利用mcc命令编译,得到h、dll、lib等文件,在C/C++工程中只需加入上述文件即可。

(4)新建工程调用所得文件。

方式1无论是开发还是运行都必须安装完整版matlab,对VS的版本没有严格要求,相当于直接引用matlab的dll和lib,比如VS2013可以调用matlab2010a

方式2需要利用matlab的VS编译器将代码文件生成dll和lib,因此,对VS版本要求严格,必须是matlab版本支持的VS版本,VS的版本比matlab低。开发要用到完整版matlab,但是运行只需要matlab runtime即可。matlab的runtime比较大,matlab2010a runtime是100多M,matlab2014a runtime 600多M,但是比起它的matlab来说还是小多了。

参考文献

vs2013 & Matlab 2018 (64)混合编程_matlab2018b 支持vs2013mex-CSDN博客C语言调用matlab引擎和调用matlab生成的DLL文件-CSDN博客https://www.cnblogs.com/zhchngzng/p/4131035.html

Matlab发布程序出错:Test checkout of feature 'Compiler' failed 解决方式_test checkout of feature 'compiler' failed.-CSDN博客

相关推荐
fie88898 小时前
MATLAB中基于CNN实现图像超分辨率重建
matlab·cnn·超分辨率重建
崇山峻岭之间9 小时前
Matlab学习笔记02
笔记·学习·matlab
Lv117700813 小时前
Visual Studio中的多态
ide·笔记·c#·visual studio
jghhh0114 小时前
基于PCA的轴承故障诊断MATLAB程序实现
matlab
feifeigo12316 小时前
基于帧间差分法的运动目标检测 MATLAB 实现
目标检测·matlab·目标跟踪
aini_lovee16 小时前
基于Jousselme距离改进D-S证据理论matlab实现
开发语言·算法·matlab
爱装代码的小瓶子18 小时前
【c++进阶】C++11新特性:一切皆可{}初始化
开发语言·c++·visual studio
简简单单做算法20 小时前
基于PSO优化CNN-BiLSTM网络模型的多输入单输出回归预测算法matlab仿真
matlab·回归·cnn·回归预测·cnn-bilstm·pso-cnn-bilstm
无限进步_20 小时前
【C语言】栈(Stack)数据结构的实现与应用
c语言·开发语言·数据结构·c++·后端·visual studio
桓琰21 小时前
非线性滤波——基于EKF的INS/GPS松组合算法的研究(直接法|EKF|欧拉角)
算法·matlab·卡尔曼滤波算法