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博客

相关推荐
楼田莉子2 小时前
C++高性能并发内存池:三种Cache的设计及其内存申请释放
c++·后端·链表·哈希算法·visual studio
IT猿手11 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
Evand J15 小时前
【MATLAB复现RRT(快速随机树)算法】用于二维平面上的无人车路径规划与避障,含性能分析与可视化
算法·matlab·平面·无人车·rrt·避障
s090713615 小时前
【声纳成像】基于滑动子孔径与加权拼接的条带式多子阵SAS连续成像(MATLAB仿真)
开发语言·算法·matlab·合成孔径声呐·后向投影算法·条带拼接
IT猿手18 小时前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手18 小时前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
SugarFreeOixi18 小时前
MATLAB绘图风格记录NP类型
python·matlab·numpy
IT猿手18 小时前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划
IT猿手21 小时前
基于强化学习Q-learning算法的无人机三维路径规划算法原理与实现,MATLAB代码
算法·matlab·无人机·路径规划·动态路径规划
无限进步_1 天前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio