Qt如何打包一个Qt程序
写好一个Qt程序后,如何直接打包成一个双击即可运行的程序?
由于实际需求,我们写好程序好一般是在Qt内部编译运行的,当需要移植到其他电脑时很有可能用户没安装Qt,也可能因为Qt版本的不同,实现不了程序,这就需要我们进行程序打包了。
睿智做法
当然,生成一个可执行.exe文件时,可以直接双击,这时候多半会弹窗提醒缺少dll文件,这样我们可以在Qt安装路径下搜索复制添加相应dll文件到.exe文件的同级目录下;然后再点击运行exe文件再弹窗再添加。。。以此往复。我第一次打包就是使用了这种睿智做法直至崩溃。
比较安逸的做法
由于是Qt自带的所以一般不会出什么问题。
- 当发现上述方法根本是釜底抽薪时,我查阅了相关资料进行了总结,可算找到一种靠谱的做法了。首先在Qt中编译运行release版本,而后找到release版本文件夹下的.exe文件,复制粘贴到一个新的文件夹(这里我不知道什么原因,直接复制在C盘并不可行,可能是C盘默认“隐藏属性”路径包含中文或太多级所以不成功)一个新的文件夹(这将是你打包程序的总文件夹),如:在D盘下直接新建一个文件夹asd(路径为 D:\asd);
- 打开Qt的命令窗口(可直接在Windows搜索Qt则会出现管理员程序)
- 在命令窗口输入"cd /d"加刚才保存的.exe文件路径: cd /d D:\asd;
- 回车后会进入你创建的exe文件夹,再输入 :
windeployqt D:\asd;
也即windeployqt+空格+你创建的exe文件路径。
- 这时系统就会自动在你创建的exe文件夹内添加运行程序所需要的库以及一些描述文件。
- 压缩打包即可。
发布
有很多纰漏,但大致是这样,公司没外网,系统有缺陷,截图也截不了,吐血。。。word都打不开,啊。