前言:

前面已经实现了在vc中调用matlab生成的动态库,请参考:vc中调用matlab生成的动态库
现在在前面已经生成好的matlab动态库的基础上,在qt中调用matlab生成的动态库。生成matlab动态库,请参考:vc中调用matlab生成的动态库

例程下载:

qt调用matlab动态库例程.rar

调用步骤:

  1. 新建qt widget工程;
  2. 拷贝matlab编译生成myadd.h和myadd.lib文件到QT工程目录下;
  3. 拷贝matlab生成的myadd.dll和myadd.ctf(必须要有,负责运行时初始化dll库会失败)文件到QT可执行文件所在目录下;
  4. 在工程文件*.pro中增加如下几行内容:
  5. 编写测试代码:
int main(int argc, char *argv[])
{...if (!myaddInitialize()){std::cout << "Could not initialize the algorithm.\n";return 0;}...
}void MainWindow::on_pushButton_clicked()
{mwArray x(1, 1, mxDOUBLE_CLASS);mwArray y(1, 1, mxDOUBLE_CLASS);x(1, 1) = ui->lineEdit->text().toDouble();y(1, 1) = ui->lineEdit_2->text().toDouble();mwArray a(1, 1, mxDOUBLE_CLASS);myadd(1, a, x, y);double aaa = a.Get(1,1);ui->label_2->setText(QString("%1").arg(aaa));return;
}
  1. 编译;
  2. 直接在qt环境下运行,会跳到dissambler 页面,如下图所示,可以不用管这个问题,因为在qt环境外直接运行可执行文件可以正常执行下去。
  3. 运行结果:

qt中调用matlab生成的动态库相关推荐

  1. qt调用matlab生成的dll库

    最近由于在项目中要用到matlab的算法,而用C++转换matlab算法非常麻烦,所以采用qt+matlab混合编程的方法,在使用中遇到了些许问题,特记录如下. 一.生成matlab库 1.首先需要下 ...

  2. 【转】matlab与C/C++混合编程——在Windows/Linux上调用Matlab编译的动态库文件

    转自:matlab与C/C++混合编程--在Windows/Linux上调用Matlab编译的动态库文件_sinat_18131557的博客-CSDN博客 date version comments ...

  3. vs2008中调用matlab生成的dll

    vs2008中调用matlab生成的dll matlab版本为:matlab7.11.0(R2010b) vs2008 1.在matlab中生成dll 在m文件中实现如下功能: 获得N个魔方矩阵的秩. ...

  4. 记录一次C语言调用go生成的动态库的踩坑过程

    记录一次C语言调用go生成的动态库的踩坑过程 问题现象 由于某些特殊原因,需要在C语言中调用go语言生成的so,本来挺顺利,一切都运行的很好.突然某一天,不知道怎么回事,再一个新程序中无法正常运行了, ...

  5. windows7下,Java中利用JNI调用c++生成的动态库的使用步骤

    1.从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-wi ...

  6. C语言调用Go生成的动态库中的函数

    工作中遇到的Go语言调用C函数的场景比较多,之前也写过一篇<cgo中将C函数返回的数组转为Go中的slice>. 目前在开发OpenSIPS的过程中,有些功能用C写起来麻烦,故第一次尝试了 ...

  7. python中调用C++写的动态库

    一.环境:Windows XP + Python3.2 1. dll对应的源文件(m.cpp): #include <stdio.h>extern "C" {_decl ...

  8. java调用qt生成的dll_在Qt中调用vs2008生成的dll以及lib的方法

    [实例简介] 详细讲解了制作lib,dll的过程,以及如何在同平台进行对两种链接库的使用,并且详细说明了在跨平台的时候,如何进行操作 新建一个工程添加.cpp文件,在文件里面进行如下的代码: #pra ...

  9. 6.关于QT中的内存管理,动态的制作,动态库的调用,静态库的制作

     一  QT的内存管理 1  QT中的内存管理是QObject来管理的 2  QT中的内存管理没有cocos2dx中的引用计数 3  组件可以指定父对象 QTimer *timer = QTime ...

最新文章

  1. 目标检测中的分类和定位冲突问题
  2. jquery_3month
  3. 批量PDF转换成Office文件 PDF转换器下载
  4. eclipse控制台自动换行不分割单词_这 7 个实用的文档技巧,不掌握就太可惜了...
  5. TI-89T 教你在C程序里调用TI-BASIC程序,看看是否有人对这个感兴趣
  6. Spring@主要注释
  7. linux一切皆是文件_LINUX一切皆文件
  8. kotlin 复制对象属性_Kotlin面向对象编程笔记
  9. 佳能gm4080无线服务器安装,佳能GM4080驱动
  10. 前端工程化之前端静态资源缓存优化和部署
  11. html5画布正五角星,canvas 正五角星如何画
  12. 国家级发明专利专利 - 崔博文
  13. (九)巴菲特与索罗斯的投资习惯:术业有专攻
  14. 深度学习之灾难性遗忘问题
  15. 2※、封装流(包装流派)、缓冲流【字节缓冲流、字符缓冲流】-->【字节缓冲流、字符缓冲流】 、字符集、转换流以及打印流
  16. C语言*p、p以及p的区别
  17. 有关血型的限制级秘密 (A型)
  18. b spring之扩展ioc机制
  19. 污水流量计对锅炉连续排污流量测量改造
  20. 内生性!内生性!解决方法大集合

热门文章

  1. MakeCert CAB压缩 Signcode
  2. windows server 2008 英文版安装中文vs2008 sp1补丁失败的解决办法
  3. 大型网站技术架构 笔记
  4. OpenCV和关于VS平台的一些编程总结
  5. AutoCAD Civil 3D-总结-公路工程建模步骤
  6. 发行版中的i386/i686/x86-64的区别: i386用来处理32位系统,i686是i386的下集;x86-64用来处理64位系统。 linux发行版中的i386/i686/x86-64各自含
  7. pages.php,manage-pages.php
  8. Tableau 聚合计算 - 分组求和(sum、fixed、include的使用)
  9. VMware里建立虚拟机快照(带图详解)
  10. 线索化二叉树及其遍历