QT打包发布

2019-06-28  本文已影响0人  时尚灬IT男

设置执行文件的图标

图片格式需要用工具转成 .ico 格式。
把该图片放到QT的工程目录下,也就是包含pro文件的目录。

image.png
打开.pro文件,在末尾添加如下代码:
RC_ICONS = kingsun.ico # kingsun.ico是你图片的文件名

使用QT自带工具(windeployqt )打包方法:

1、release编译生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:C:\Qt\helloQt\ 。
它的项目生成目录是 C:\Qt\build-helloQt-Desktop_Qt_5_4_0_MinGW_32bit-Release\ 。
进入这个文件夹,在进入它的子文件夹 release 里面,找到 helloQt.exe,将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 D:\helloQt\ 文件夹里面,此时打开helloQt.exe会提示缺少dll之类的信息,程序打不开。
2、“开始”菜单中打开Qt命令行工具:


image.png

如:Qt 5.4 for Desktop (MinGW 4.9 32 bit)
输入命令:cd /d D:\helloQt
进入D:\helloQt 文件夹之后,继续输入:windeployqt helloQt.exe

做一个可安装的执行程序

生成可安装软件生成可安装软件
提取码:21ic
接下来就是这个生成可安装软件的操作步骤:

image.png image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

打包过程的程序里如果包含文件夹,在用打包好的安装程序时,每次都会把原来添加的文件夹下的文件直接装在应用程序的文件夹里。导致程序运行提示缺少文件。
解决方法:修改iss文件

Source: "E:\wb\DataProc-HGV1.8\dlls\*";  DestDir: "{app}\dlls"; Flags: ignoreversion recursesubdirs
createallsubdirs
Source: "E:\wb\DataProc-HGV1.8\help\*";  DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs
createallsubdirs
 
Source: "E:\wb\DataProc-HGV1.8\dlls\*";  DestDir: "{app}\dlls\"; Flags: ignoreversion recursesubdirs
createallsubdirs
Source: "E:\wb\DataProc-HGV1.8\help\*";  DestDir: "{app}\help\"; Flags: ignoreversion recursesubdirs
createallsubdirs

在{app}后面加是文件夹的路径

上一篇下一篇

猜你喜欢

热点阅读