Qt与Matlab混合编程细节总结

本文详细记录了使用Qt调用Matlab编写的.m文件过程中的问题与解决办法,包括Matlab生成C++共享库失败、头文件缺失、库无法打开等问题的解决策略,以及Qt项目配置的注意事项,最后分享了如何避免在使用mwArray时程序崩溃的初始化关键步骤。
摘要由CSDN通过智能技术生成

最近准备做一个项目,其中要用到很复杂的拟合算法等,自己去实现这些算法要很久,而手边有师兄已经写好的Matlab函数,如果可以实现利用Qt调用这些函数,那么工作量将会减少很多。而且这个看上去也很简单,至少博客文章上的貌似都很简单。

经过了一天多的实践,终于成功了!叹曰:为何别人那么容易就实现了,到了自己就大费周折呢?

总结思路和这一天所遇到的问题和我解决的办法如下:

思路:无非就是首先用matlab编写.m文件(实现预期功能),然后将其生成Qt可调用的库,然后用Qt调用这些库。这里是test所以.m文件很简单,就是求两个数的和。


软件版本:win10 ,matlab 2015b,Qt 5.2.1, VS2012  //经过测试,这里是VS2013 也没问题


(生成动态库时,高版本matlab和低版本的有所区别,一定要注意,我用的2015,方法大致同这篇文章     http://blog.csdn.net/sjhuangx/article/details/49305237)

遇到的问题1:

matlab生成C++ shared library失败。尝试的解决办法:

matlab升级:之前我的版本是2010b,识别不了我的VS2012和VS2013,很郁闷只能重装一个2015版的matlab。

选择不同的编译器,未果,这里只要matlab识别到了编译器即可。

后来我发现,直接勾选第一个是没问题的,生成的库完全可以使用,所以这里选第一个,问题解决!



使用刚生成的库我就不多说了,用到的文件有.h头文件,.lib文件和.dll文件。容我偷懒在贴一篇文章(http://blog.csdn.net/u012955739/article/details/74999408)

遇到的问题2:

缺少一系列的matlab头文件。尝试解决办法:

这明显示路径包含没对,但是我翻来覆去的看,INCLUDEPATH貌似没问题啊,于是就采取笨方法将头文件拷贝到工程目录下,刚开始说好的只有一个,然后弄过来有出来一个,就是那种“子子孙孙无穷匮也”的感觉。这样我没坚持到2分钟就不行了,直接告诉我弄完要死人!没帮法回头检查pro文件吧。这下发现问题了,然后我就在心里对Qt竖起了中指。

这是我之前的路径,一般第一眼看,这能有什么问题,不就是在include目录下复制过来么?对你没看错,我是复制过来的,但是Qt教导

  • 17
    点赞
  • 135
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值