Qt应用程序的发布(不制作安装文件)

131 阅读2分钟

Qt应用程序的发布(不制作安装文件)

Qt应用程序的发布就是提取应用程序相应开发套件的Qt运行库文件,使应用程序能直接在用户计算机上运行

步骤

(1)将对应项目以release模式构建

image.png

release模式构建后会生成可执行文件

2.png

此时双击运行这个可执行文件,系统会提示找不到一些dll文件,程序无法运行,这是因为用Qt开发的应用程序在运行时需要用到Qt运行库,而这些库的路径并没有被添加到系统的搜索路径里

(2)使用Qt提供的工具软件提取应用程序所需要的Qt运行库文件

windeployqt.exe是Qt自带的Windows平台发布工具

windeployqt.exe在Qt开发套件的bin目录下

3.png

上图是两个不同的开发套件,应用程序由哪个开发套件构造生成的,就应该用哪个版本的windeployqt.exe生成发布文件

E:\Qt6\6.7.0\mingw_64\bin

下图是mingw_64开发套件下的windeployqt.exe

4.png

新建一个文件夹,将release构建出来的可执行文件复制过去

5.png

Windows资源管理器的地址栏里输入cmd并按回车,进入当前地址下的命令提示符窗口

6.png

开始使用windeployqt.exe之前需要了解其命令语法

windeployqt [options] [files],其中options是一些选项,files是需要生成发布文件的应用程序文件名。常用的options如下:

--release            发布release版本的二进制文件

--no-quick--import    忽略Qt quick的相关库

--translations<languages>    需要发布的语言列表,用逗号分隔,如(en, fr)

--no-translations    忽略翻译相关的文件

--no-virtualkeyboard    忽略虚拟键盘相关的文件

--no-compiler-runtime    忽略编译器的运行时文件

--no-opengl-sw    忽略OPenGL软件渲染

--no-system-d3d-compiler    忽略D3D编译器

在命令提示窗口输入命令E:\Qt6\6.7.0\mingw_64\bin\windeployqt --release --no-translations --no-virtualkeyboard --no-compiler-runtime TXT_Processing.exe

7.png

命令执行结束后很多文件和目录会被复制到新建的文件夹下

8.png

此时双击exe文件仍然提示有几个dll文件无法找到

QQ截图20231028100556.png

E:\Qt6\6.7.0\mingw_64\bin目录下的对应文件复制到新建的文件夹中,此时便可运行可执行文件。将该文件夹打包发送给用户便可使用。

9.png