QT5下打包流程详记

本机环境:

QT5.10.1(x64) Qt Cretor(x64) MYSQL(x64) MATLAB2014b(x64) 编译器:msvc2015_x64 操作系统:win10(x64)

内容:

本想着工作进行到一半了,想试试将程序打包发布在其他机器上,原以为是一件比较easy的事情,哪晓得,人算不如天算,在QT下打包是如此繁琐的事情。国内也不是没人没在使用QT开发,可是网上的东西,就算东拼西凑也凑不到一个完整的流程来。无赖,难道就没人需要打包程序没?唉,先在这感叹下吧!

好吧,我想打包的程序里面,主要涉及到与MYSQL数据库和MATLAB的动态链接库通信,一般单纯的不包含要与MYSQL和MATLAB通信的QT打包,参考网上大家推荐的QT自带的windeployqt.exe打包就行,然后再缺啥dll添加什么dll就行了,高大上的还可以再整合下弄成个安装包啥的(推荐NSIS)。而涉及到数据库和matlab的资料就很少,这里,主要详记下自己这几天摸索的方法!

一、关联MYSQL数据库打包

首先,要在其他机器上使用mysql,要么安装mysql服务,要么联网远程连接mysql服务器(这个方法是使用最多的),但考虑到实验室安全,决定采用第一种方式,在目标机器上安装mysql服务(当然,也可以考虑使用不需要安装数据库运行服务的其他数据库如sqlite、access等)。在通过deployqt.exe打包后需要将与mysql相关的dll手动添加进来,如libmysql.dll、数据库配置文件、和数据库等。最后,就可以将打包程序运行在安装了mysql的机器上了(mysql毕竟是需要安装服务器的,后面考虑使用sqlite)。

二、关联MATLAB动态链接库打包

先说说情况吧,首先我在matlab中按照https://blog.csdn.net/u012955739/article/details/74999408该文方法配置实现了在QT下调用matlab生成的dll文件。然后常规操作打包,然后在没安装matlab的机器上运行,无法运行提升缺少mclmcrrt9_1.dll,好吧缺啥补啥,在matlab安装路劲中将runtime下的该文件导入,确实能够运行exe,可是!!!一旦运行到需要调用dll时,就会无故崩溃。然后网上搜索https://blog.csdn.net/CoolMan_1995/article/details/80808332在该文中,作者提到不添加mclmcrrt9_1.dll,而安装VS运行库vcredist_x64,然后按其方法操作,好吧这回还是提示缺少mclmcrrt9_1.dll<0.0>,这就尴尬了,我不知道他是怎么弄的?唉,继续在网上冲浪,然后看到说可以不用完全安装matlab,而直接安装其MATLAB Runtime运行库,我在matlab中将D:\CodingSoft\MATLAB\toolbox\compiler\deploy\win64该路径下的MCRInstaller.exe安装到目标机器上。最后,奇迹发生了,it  works!!!

总结,与安装全套几个G的matlab来说,只安装个几百兆的库还是可行的。(目前还在寻找不用安装运行库的方法)。

后面又在网上看到可以使用QT Installer Framework来制作安装包,相关参考资料如下:

https://www.cnblogs.com/csuftzzk/p/qt-installer-framework.html

https://blog.csdn.net/mars_xiaolei/article/details/83825447

且行且努力吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值