项目场景:QT联合MATLAB联合编程
QT调用MATLAB的DLL动态链接库困扰了2天,今天终于调试出来啦!在此特地记录自己的学习过程!学生一枚
调试中的问题:
MATLAB刚开始生成DLL动态库是用的 这个博主的方法,但是不知道为啥,我的就是不行,引用这个博主的连接我的用这个办法不行,不是缺这个就是缺那个可能是电脑环境的问题,(不过中间QT成功的调用了一次,但过程特别慢,出一些提示,当时也忘了截图)然后就各种找资料,找B站最后找到用这个方法的来生成动态链接库就好使,先附加上B站博主的连接视频这是视频 讲解
#过程:
采用MATLAB Coder工具转换dll文件的方法。
首先在命令行输入coder调出工具。
选择自己的.M文件,点击NEXT。
输入自己的类型。
下一步:
测试:
再下一步,我选择的是动态链接库,下面环境是根据我的编译器选择的,当然可以选择自动的方式。然后点击Generate
生成的动态连接库,左侧为所有文件,建议全部拷贝到QT的任意文件下进行调用
生成的文件在你的MATLAB的所属文件的codegen
里面的dll文件全部复制到QT文件下就可以啦!
QT调用动态库就很简单啦 先配置一下matlab的文件下面就截图啦!
pro文件中:
INCLUDEPATH +=$$quote(D:/Program Files/Polyspace/R2019b/extern/include)
INCLUDEPATH +=$$quote(D:/Program Files/Polyspace/R2019b/extern/include/win64)
INCLUDEPATH +=$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft)
DEPENDPATH +=$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft)
LIBS += -L$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft) -llibmx
LIBS += -L$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft) -llibmat
LIBS += -L$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft) -llibeng
LIBS += -L$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft) -lmclmcr
LIBS += -L$$quote(D:/Program Files/Polyspace/R2019b/extern/lib/win64/microsoft) -lmclmcrrt
再在QT中引入动态连接库
选择刚才复制到QT中的DLL文件里面的LIB文件就可以啦,调用头文件就好了。如果显示不存在头文件的问题可以在QT中添加路径
第一次写,有的问题都忘啦,有什么问题可以联系我