当前位置:首页 > 技术心得 > 正文内容

Qt打包发布程序

xjtudll17年前 (2010-03-31)技术心得74420

Qt发布程序有两种方式,静态编译和动态编译。静态编译操作繁琐,东拉西扯要N长时间,所以我选择的是动态发布,动态发布有个缺点,就是要附加多个dll文件,传输极为不便,如果能搞成单文件就比较爽了。

本文就是讲述如何将多个文件打包成一个exe文件。

当然,你首先要将Qt编译设置成Release模式,将Release文件夹中的exe文件拷贝出来,并用微软的Dependency Walker查看该exe文件需要哪些dll需要在完全没有装QT的系统上测试发布的程序有没有DLL依赖问题),并将其拷贝出来,将所有文件都放在同一个文件夹。搞定这些之后,就可以开始文件打包了。

文件夹打包需要几个软件,下面将一一讲述。

1ASPACK

Qt本身所带的dll文件比较大,可以先用ASPACK压缩一下。mingwm10.dllQtCore4.dlllibgcc_s_dw2-1.dllQtGui4.dlldll文件经过ASPACK压缩后可从十多M变为5M左右,大大降低了程序大小。
   

2FilePacker

此软件可以从网上搜索下载。
  

 

按照提示,用这个软件一步步即可。可设置解包后运行文件,如图所示。

 



    然后点下一步,使用默认设置即可。

在设置临时解压路径的时候需要注意一下,最好是设置在临时文件夹,这样重启电脑后,这些解压的文件就自动删除了。如下图所示。
   
   

  

唯一美中不足的就是自定义图标必须32*32大小,256色。当然,你可以找个ico图标编辑软件,编辑之后使之满足条件即可。

软件打包后就可以发布了。

还有个软件MoleBox也可以将文件夹打包,但是这个软件不能自定义图标,所以用起来就不爽了。

文件夹打包从根本上来讲应该就是压缩文件,这种压缩文件解压后能够自动运行压缩包中的文件,当然用WinRAR也能实现上述功能,只不过FilePacker操作更为简单,傻瓜式操作。打包后的exe文件,点右键时,很明显的看到能够用WinRAR操作。因此,文件很多的时候可能会打开较慢(文件多,解压时间长)。

以上提到的软件都是绿色软件。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/63/

标签: Qt
分享给朋友:

“Qt打包发布程序” 的相关文章

Altium pcb文件过大

Altium pcb文件过大

问题描述: 一些Altium Designer设计的文件看上去板子小且走线也不多,但是保存后文件却比较大。 原因: 通常是在PCB中放置了非默认字体的字符。 在软件里面有一个默认的选项“Embed  TrueType Fonts inside PCB Doc...

Xcode 不显示打印(NSLog)的内容

Xcode 不显示打印(NSLog)的内容

用Xcode的时候,突然发现不显示打印的消息了,感觉非常奇怪,之前一直正常可用。 最终发现原因: 自己无意中关了打印窗口了,那自然就没法显示打印信息了 如图所示,点右下角那个小按钮即可。 或者使用快捷键:command + shift + c 问题解决,打印窗口出现。...

C# MDI 子窗体被父窗体控件挡住

C# MDI 子窗体被父窗体控件挡住

https://blog.csdn.net/chenyblog/article/details/40752029最近在做一个小工具,发现了一个过去做项目没有遇到的问题:子窗体被父窗体的控件给挡住了!如下图所示:子窗体的TopMost 已经设为true,父窗体的控件已经置于底层,但是结果还是很悲观!无...

会声会影X8安装提示已安装另一个版本的解决方法

会声会影X8安装提示已安装另一个版本的解决方法

问题描述: 从未安装过会声会影,但是安装会声会影X8时提示已安装另一个版本。 原因: 只要系统安装了C++ 2005 redistributable和C++2008 redistributable,就会提示你会声会影已安装另一个版本。 解决办法: 卸载C++ 2005 redistributable...

魅族Flyme7不显示logcat

魅族Flyme7不显示logcat

设置 -> 辅助功能 -> 开发者选项 -> Flyme扩展功能 -> 性能优化 -> 高级日志输出 -> 全部允许 没有开发者选项的先去系统设置里将开发者选项给点出来...

金蝶K3:api说明打开只有网页的头,没有内容

金蝶K3:api说明打开只有网页的头,没有内容

问题描述 api说明打开只有网页的头,没有内容。问题的图片如下: 问题原因 检查api日志可以看到如下内容:数据库访问异常,请联系管理员... 解决方案 打开账套管理--点击异常账套--点击左上角的属性,检查配置的身份是不是SQL server身份认证,是不是没有填写sa的密码。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。