qt开发第一个win应用程序(二、qt打包)

个人比较习惯,如果是开发桌面应用程序,都是习惯先看怎么打包,打包完成后,发送到别人的pc是否使用方便,可能当年做的第一个上位机是用labview写的,这个号称图形化编程,只要把系统运维工程相应的控件拉系统运维面试题及答案过来就行,但是打包的时候,就只能打包成安装包,不知道现在有没有可以直接打成exe,毕竟好多年没用平台应用了;然后开始搞mfc,这个靠点谱,但是吧它的那个串口组件被微软启用了,现在忘记是哪系统运维工资一般多少个了,然后又得换;这次终于找上了c#,当时开发用的是winfrom,用winfrom做的还可以,直接打包成exe,可以直接使用,真爽;qt前几天去看了下,发现winfrom找不到了,现在linux操作系统基础知识只有WPF,然后尝linux命令关机试了一下,图形界面用了一个axml的格式来替换了,就简单写了写,感觉还行;这次换一下qt,qt的好处就是跨平台,所趣头条以来尝试一下,但是打包可能复杂一点吧,接下来我们学习一波。

2.1 编译

通过上一节,也知道了编译的路径在哪了

我用的是qt5.10.1,linux命令大全点击左边的项目,然后在构建设置中有构建目录,我们就在这里找就可以了

还有我前庭大腺们编译的时候,是不是有debug和Release;如果是要发布的话,就需要选择release这个小一点情头像。


                                            qt开发第一个win应用程序(二、qt打包)

位置在右下脚。

然后点击绿色按钮可以直接编译运行了。

结果:


                                            qt开发第一个win应用程序(二、qt打包)

成功就弹出了这个页面

如果我们去到编译好的文件中查看,就会发现丢失了dll等文件球探体育

这些dll其实就是qt的库文件,我linux创建文件们现在是找不到他们,一个比较简单的方便就是把qt的库文件添加到环境变量中,不过我不喜欢这种方法,这种平台地图浏览器方法也只系统运维面试题及答案是自己电脑跨平台应用使用,对其他电脑使用不了,这方法不靠谱,

2.2 windeplo跨平台开发yqt打包

接下来我们使用球探体育官方工具windeployqt进行打包,需要把上面生成的exe文件,放入一个新的文件夹中,比如:


                                            qt开发第一个win应用程序(二、qt打包)

然后我们来看看官方的工具在哪:


                                            qt开发第一个win应用程序(二、qt打包)


                                            qt开发第一个win应用程序(二、qt打包)

然后用命令进入c#跨平台我们之前创建的目录下,里面有我们的exe文件,接下来就可以用命令打包了:系统运维工作内容


                                            qt开发第一个win应用程序(二、qt打包)

如果经常使用linux命令的,应该都比较熟悉,一般做qt的,应该也熟悉linux命令。


                                            qt开发第一个win应用程序(二、qt打包)

然后我们回到我们创建的demo目录,是不是看到好多dll,这些就是我前庭大腺们的exe程序依赖的dll文件,windeployqt这个命令,就是通过找到exe文件的依赖,然后去不同路径把缺少的dll文件全部拷贝过来,这样我们就可以直接点击打开exe文件了。

看效果晴天:


                                            qt开发第一个win应用程序(二、qt打包)

是不是跟上面的效果一模一样。

然后我们出来看看文件大小:


                                            qt开发第一个win应用程序(二、qt打包)

竟然啥都没库文件有就需要47Mlinux命令,果然qt写的exe就比较大,这也难怪,因为用c#写的都是调用win的方法,也就是青团方法应该集成在系统中,qt的需要打包成dll,linux所以较大,也正是因为这个,才能实现跨平台。

2.3 Enigma Virtual Box打包

在网上查找打包工具的时候,除了上面的官方打包linux重启命令工具外,网友还推荐了Enigma Virtual Box这个软件linux打包,好像是能把linux创建文件这个文件夹中的文件,全部压缩成一个exe,我们就来试试吧。

软件打包界面:


                                            qt开发第一个win应用程序(二、qt打包)

打包出来的软件:带了_boxed的linux命令查看ip地址后缀,大小也是一样的,看来就是纯粹的打包。


                                            qt开发第一个win应用程序(二、qt打包)

不过我把这个exe复制到其他路径下,也是说找不到dll,不知道哪里操作错了,算了,以后再分析吧,目前就用windeployqt这个打包吧。