Matlab编译生成DLL,供QT调用 |
您所在的位置:网站首页 › qt可以调用matlab › Matlab编译生成DLL,供QT调用 |
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 |