【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
我们在读书的时候,如果程序写好了,这个时候一般直接把exe拷贝给老师就可以了。这就是最原始的软件发布。但是,这个规则套在qt和商业上位机开发上,就显得有点不合时宜了。原因有两点,第一,我们开发的只是exe文件,它本身还要qt各个dll动态库的帮忙才能运行起来;第二,一个上位机软件不仅仅是程序本身,还依赖于配置文件、美工文件、语言包、数据库、数据库配置文件等很多内容,并不仅仅是拷贝一个exe那么简单。
今天借着学习qt的机会,我们来看下如何发布qt平台的软件。
1、利用windeployqt.exe
网上关于qt发布的内容很多,但是怎么找到qt依赖的动态库文件,其实一个程序就可以了,那就是windeployqt.exe。首先,我们在qt安装目录下面找到这个程序,接着用这个程序就可以找到exe对应的依赖库文件了。
C:\Qt\Qt5.12.5\5.12.5\msvc2017\bin\windeployqt.exe QtWidgetsApplication.exe
2、拷贝好配置文件
如果大家有印象的话,之前因为调试,我们进行配置文件加载、sqlite数据库加载的时候,这些文件都是放在和cpp同名的目录下。现在因为需要把这些软件部署到客户的电脑上面,所以就需要把这些文件copy到和exe同名的目录下,这样程序才能正确加载。
3、准备好qss文件、图片文件
之前为了美化,我们还学习qss文件。所以关于qss脚本部分的内容、图片部分的内容,也需要拷贝到exe同级目录下,不然辛辛苦苦做好的美化包就发挥不了作用了。
4、语言包
很多时候,我们开发的上位机软件不仅仅需要满足国内市场,还要满足国外市场,甚至是多语言的国家和地区,比如说东南亚地区,比如说欧洲地区等等。这个时候,我们就要学会开发多语言包,并且根据客户的选择灵活加载不同的语言包,然后重启。目前来说,最最基础的中文和英文还是需要的,因为保不齐哪天就有国外的订单飘过来。
5、第三方库
很多时候,我们的程序还需要依赖第三方动态链接库文件。就拿qt上位机来说,就可能会用到boost、opencv、pcl这些常用库。所以,我们还需要记录好这些第三方库的版本。这样发生问题之后,才可能进行回溯和改进。
6、数据库和sql文件
对于业务比较大的上位机来说,数据库是必不可少的。有条件的话,可以把数据库单独放在一个独立的服务器上面。实在没有办法了,才考虑把数据库和上位机软件安装在一起。这中间odbc安装、数据库版本的选择、sql文件的导入,最好都以文档的形式记录下来,保证所有的人按照这个文档,都可以顺利实现数据库的安装和导入。
7、日志文件目录
剩下来,最最重要的部分,就是日志文件的目录设置。软件在运行的过程当中,出问题是正常的。我们的目标应该是少出问题,或者说出了问题,现场运维的朋友也可以第一时间来解决。即使现场的朋友没有办法解决,也可以迅速拿到log文件,把这些文件发送给开发商来解决,这都是常规的处理办法和措施。所以,等软件部署完毕之后,一定要检查一下,电脑上的日志目录是否设置正确。如果无法使用todesk之类的远程工具来处理,log和录屏似乎是唯二的故障解决办法了,不过效率也会低一点。