【更新】
2012-09-14,更新示例脚本,添加可选择的创建桌面快捷方式
【问题描述】Qt程序如何打包?最简单的方法是找到对应的动态链接库,然后连同程序一起打成压缩包发布(打包QT编写的应用程序)。另一种方法是编译为静态文件,作为绿色软件发布,网上介绍了相关的编译方法,比较复杂。一种方式是Windows如何打包Qt程序提供的方式。这几种方式效果不是很令人满意。还有一种就是利用InstallShield打包,该软件比较复杂,可以仔细研究。本文以<文件加密专家>程序为例,介绍一种利用Inno Setup打包Qt程序的方法。
【准备工作】
1 下载安装Inno Setup
http://www.jrsoftware.org/isdl.php
*网上有汉化版,可以自己找找
2 准备打包程序图标setup.ico,就是打包好的程序,你所想显示的图标,注意为ico格式。介绍一个在线制作ico的网站,能将其他图片格式快速转变为ico格式:
【操作步骤】
1 准备待打包的程序和动态链接库,注意动态链接库的存放位置。本例目录结构为:
图1 目录结构
源目录
F:\FileEncryExpert v1.2
源程序
F:\FileEncryExpert v1.2\文件加密专家.exe
动态链接库F:\FileEncryExpert v1.2\libgcc_s_dw2-1.dll
F:\FileEncryExpert v1.2\mingwm10.dll
F:\FileEncryExpert v1.2\QtCore4.dll
F:\FileEncryExpert v1.2\QtGui4.dll
F:\FileEncryExpert v1.2\QtSql4.dll
在Qt安装目录中查找,E:\QtSDK\Desktop\Qt\4.8.0\mingw\bin
如果用到png库、sql库之类的动态链接库,要放入plugins目录
F:\FileEncryExpert v1.2\plugins\sqldrivers\qsqlite4.dll
F:\FileEncryExpert v1.2\plugins\sqldrivers\qsqlodbc4.dll
在Qt安装目录查找,E:\QtSDK\Desktop\Qt\4.8.0\mingw\plugins,注意子目录必须和安装目录中的子目录一致,如本例/plugins/下的sql相关子目录必须以sqldrivers命名。
程序加载这些库的方法是,在main函数中,添加:
qApp->addLibrar