Qt 程序打包发布

文章目录

    • Qt 打包发布方式
    • 公共步骤 - 找到依赖项及链接关系
      • 第一步:生成 release 版本的 Qt 可执行程序
      • 第二步:在工程目录下找到该文件
      • 第三步:寻找依赖项
      • 分支一:app.exe 和动态链接库放在一起发布
      • 分支二:打包成一个独立的 app.exe 文件直接发布
      • 分支三:打包成安装包的方式发布
      • 分支四:静态编译 app.exe 发布
      • 分支五:将动态库文件通过内存调用
    • 总结

Qt 打包发布方式


假设我写了一 app.exe 程序,主要有以下几种发布方法:

  • app.exe 和动态链接库放在一起发布
  • 打包成一个独立的 app.exe 文件直接发布
  • 打包成安装包的方式发布
  • 静态编译 app.exe 发布
  • 一个大神说,还可以将动态库文件通过内存调用…(还没有尝试)

注意事项:本文的方法不适宜用来打包Qt写的纯C++项目(Plain C++)!!!究其原因,是因为本文下面所用的 Qt 自带的 windeployqt.exe 不支持!!!

发布纯C++项目的话,可以去看这篇博客…Qt中纯C++项目发布为dll的方法(超详细步骤)

接下来一个个的讲…

公共步骤 - 找到依赖项及链接关系


第一步:生成 release 版本的 Qt 可执行程序

Qt 程序打包发布_第1张图片

第二步:在工程目录下找到该文件

  1. 先在工程根目录下找到 build-你的工程名-Desktop_Qt_5_7_0_MinGW_32bit-Release 这个文件夹
  2. release 文件夹的 app.exe 拷贝至一个新文件夹,如在桌面上新建一个RELEASE 文件夹

第三步:寻找依赖项

1-通过开始菜单找到 Qtx.x for Desktop

Qt 程序打包发布_第2张图片

2-输入命令 cd /d C:\Users\Neverland_LY\Desktop ,回车

3-输入命令 windeployqt app.exe

Qt 程序打包发布_第3张图片

此时,RELEASE 文件夹会多出来很多文件

Qt 程序打包发布_第4张图片

其实有简单的方法,直接把 RELEASE 的 app.exe 拖动到 Qt 安装目录下的
…\5.7\mingw53_32\bin\windeployqt.exe 即可

Qt 程序打包发布_第5张图片

分支一:app.exe 和动态链接库放在一起发布


直接将 RELEASE 文件夹打包成压缩包,然后放在别的电脑直接调用即可

PS:如果在别的电脑运行提示还缺少 .dll 文件,那么就在自己电脑上把对应的文件在Qt安装目录下找齐,放到 RELEASE 文件夹重新打包即可

分支二:打包成一个独立的 app.exe 文件直接发布


首先下一个 Enigma Virtual Box

Application virtualization system for Windows. Enigma Virtual Box enables application files and registry to be consolidated in a single executable file, without loss of efficiency and without virtualized files having to be extracted to the HDD. Enigma Virtual Box is a free application that supports both x86 and x64 binaries.
[官网简介]

  • Enter Input File Name:选择 app.exe
  • Enter Output File Name:自己选择一个输出路径并重命名程序名
  • File 窗口:将RELEASE 文件夹下的所有文件都拖进来
  • Files Option:选择压缩(Compression)

Qt 程序打包发布_第6张图片

Qt 程序打包发布_第7张图片

弹出如下窗口直接选确定

![这里写图片描述](https://img-blog.csdn.net/20180415112017481?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0NzE5MTg4/font/5a6L5L2T/fontsize/400/fi **ll/I0JBQkFCMA==/dissolve/70)

最后点击 Process开始制作,运行结束后如下:

Qt 程序打包发布_第8张图片

好了,拿到别的电脑上尽情运行去吧~~~

分支三:打包成安装包的方式发布


  • 推荐使用:Inno Setup

Inno Setup is a free installer for Windows programs. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability. [官网简介]

这篇百度经验个人认为写的不错,我就不造轮子了,大家加油!!!Inno打包教程

分支四:静态编译 app.exe 发布


  • 可以查看该篇博文…

分支五:将动态库文件通过内存调用


  • 暂无…请读者自行研究

总结


路漫漫其修远兮,吾将上下而求索

你可能感兴趣的:(编程语言,-,C++,开发工具,-,VS,/,Qt,/,Sublimetext,Qt打包,Qt程序发布)