宿迁网站开发,centos6.5 安装wordpress,网站改版 html,网站挣钱网0、前言
C/C调用MATLAB有三个方式#xff1a;调用dll文件、调用exe可执行程序和调用Engin引擎。
第一种方式利用MATLAB Coder 将MATLAB代码生成C/C代码和相关动态链接库#xff0c;可以在没有MATLAB的电脑和设备上运行。
第二种方式利用MATLAB将MATLAB代码编译成exe可执行…
0、前言
C/C调用MATLAB有三个方式调用dll文件、调用exe可执行程序和调用Engin引擎。
第一种方式利用MATLAB Coder 将MATLAB代码生成C/C代码和相关动态链接库可以在没有MATLAB的电脑和设备上运行。
第二种方式利用MATLAB将MATLAB代码编译成exe可执行文件由C/C调用exe从而实现混合调用需要在执行机上安装MCR运行环境 MATLAB Component RuntimeMCR。
第三种方式直接调用MATLAB计算引擎相当于进程调用后台开一个MATLAB应用通过C API传参数和接收MATLAB的返回结果需要安装MATLAB。
1、环境配置
Qt调用matlab引擎需要二者的软件位数一致。本文实现的环境如下
Qt 6.2.1 64bitmatlab 2018b 64bitMinGW64 版本mingw810_641.1 MATLAB配置C编译器
配置MATLAB的C编译器与Qt的C编译器为同一个MinGW如果没有MinGW则需要去下载。由于安装Qt过程中选择了MinGW因此MATLAB直接配置该MinGW。可以临时设置MinGW环境变量但是关闭MATLAB后该变量就消失了下次启动MATLAB需要重新设置。
setenv(MW_MINGW64_LOC,D:\Tools\Qt_6.2.0_64Bit\Qt\Tools\mingw810_64)
可以通过设置系统环境变量下次启动MATLAB后不用再次设置。 设置MinGW环境变量之后可以配置MATLABd C语言编译器此时选择C。 1.2 QT配置MATLAb Engine环境
Qt项目文件Pro添加依赖Engine的依赖包括头文件和库(libgeng ligmat libmx ligmex等)比较简单。 如果MATLAB的路径中有空格例如C:/Program Files之类的需要用到 $$quote处理。 2、测试
以下示例展示Qt调用MATLAb引擎绘制一个sin函数。 如果编译成功但是执行崩溃则可能是没有找到相应的MATLAB添加一个matlab的bin下边的win64目录例如D:\Tools\matlab2018b\bin\win64此时系统环境变量中添加或者在QT项目中添加。
QT中添加环境变量如下 系统环境变量添加方法如下 可能会出现执行交慢的情况已经打开的MATLAB Command Window不要关闭下次启动就会更快一些。以上是简单的引擎测试数据传递和接收可以根据MATLAB官方文档进行查询。用于 C 的 MATLAB 引擎 API- MATLAB Simulink- MathWorks 中国 以下无。