Matlab编译生成DLL,供QT调用

您所在的位置:网站首页 qt可以调用matlab Matlab编译生成DLL,供QT调用

Matlab编译生成DLL,供QT调用

2024-04-28 00:49| 来源: 网络整理| 查看: 265

QT 5.15.2

Matlab R2022a

一、使用matlab生成dll

准备好matlab接口

命令行窗口敲入以下命令:

 

 弹出以下对话框

 

选择Library Compiler

弹出以下对话框

 

 

选择C++ Shared library

加入所有依赖的.m文件

点击package按钮

matlab 会为我们编译生成C++ dll

 

二、使用QT调用matlab生成的dll

.pro文件中加入以下配置

INCLUDEPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/include)INCLUDEPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/include/win64)

INCLUDEPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft)DEPENDPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft)INCLUDEPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64)DEPENDPATH += $$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64)

win32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -llibmxwin32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -llibmatwin32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -llibmexwin32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -llibengwin32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -lmclmcrwin32: LIBS += -L$$quote(D:/Program Files/MATLAB/R2022a/extern/lib/win64/microsoft) -lmclmcrrt

 

使用时 需要先调用xxxxInitialize函数用于初始化

double buf[1024]; memset(buf, 0, sizeof(double) * 1024); mwArray t1(1024, 1, mxDOUBLE_CLASS);

数据保存到buf中

t1.SetData(buf, 1024);

将t1作为参数传入接口中。

 

未解决的问题:

debug模式下会卡死, release下可以跑通。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3