欢迎关注公众号: fensnote

编译Release版本,拷贝依赖库文件

选择Release模式

在QtCreater选择工程的Release编译,编译出Release版本的exe文件;

使用windeployqt.exe命令提取用到的dll库

打开Qt的Mingw的命令行界面:



在命令行中,切换到exe文件所在文件夹,然后执行命令:

windeployqt lock.exe

执行如下,这个命令会把该exe所用到的库文件都复制过来:

E:\qtwork\lock-Release\release>windeployqt lock.exe
E:\qtwork\lock-Release\release\lock.exe 32 bit, release executable
Adding Qt5Svg for qsvgicon.dll
Skipping plugin qtvirtualkeyboardplugin.dll due to disabled dependencies (Qt5Qml Qt5Quick).
Direct dependencies: Qt5Core Qt5Gui Qt5Widgets
All dependencies : Qt5Core Qt5Gui Qt5Widgets
To be deployed : Qt5Core Qt5Gui Qt5Svg Qt5Widgets
Updating Qt5Core.dll.
Updating Qt5Gui.dll.
Updating Qt5Svg.dll.
Updating Qt5Widgets.dll.
Updating libGLESV2.dll.
Updating libEGL.dll.
Updating D3Dcompiler_47.dll.
Updating opengl32sw.dll.
Updating libgcc_s_dw2-1.dll.
Updating libstdc++-6.dll.
Updating libwinpthread-1.dll.
Patching Qt5Core.dll...
Creating directory E:/qtwork/lock-Release/release/iconengines.
Updating qsvgicon.dll.
Creating directory E:/qtwork/lock-Release/release/imageformats.
Updating qgif.dll.
Updating qicns.dll.
Updating qico.dll.
Updating qjpeg.dll.
Updating qsvg.dll.
Updating qtga.dll.
Updating qtiff.dll.
Updating qwbmp.dll.
Updating qwebp.dll.
Creating directory E:/qtwork/lock-Release/release/platforms.
Updating qwindows.dll.
Creating directory E:/qtwork/lock-Release/release/styles.
Updating qwindowsvistastyle.dll.
Creating E:\qtwork\lock-Release\release\translations...
Creating qt_bg.qm...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_da.qm...
Creating qt_de.qm...
Creating qt_en.qm...
Creating qt_es.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_gd.qm...
Creating qt_he.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_pl.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...

如下图,复制过来的文件:



测试一下是否能直接运行,有时可能还是复制不全,那就再根据提示缺少哪一个,找过来哪一个,很幸运,这个可以运行:



这样接下来就可以对这个文件夹进行打包了。

使用Inno Setup打包

Inno Setup是一款国外的免费打包软件,可以把可执行文件exe与其依赖的dll库文件一起打包成一个安装文件(setup.exe)。官网下载请点这里:https://jrsoftware.org/isdl.php

下载安装

下载安装这里就不详细介绍了,windows应用安装基本都一样,一路“下一步”。

安装完成后,开始打包

中间直接使用默认,不需要说明的步骤我就跳过去了。

创建打包脚本:



填写应用信息,包括版本、发布者、网站:



安装目录设置:



选择要打包的文件和文件夹:



安装语言设置:



生成的安装文件配置:



然后就配置结束了:





至此打包脚本配置完成,下面就可以打包了。

开始编译打包

接着上面的步骤:



会提示你是否保存脚本:



编译打包:

打包完成

打包完成,桌面上会生成一个安装文件(exe):

安装测试

就和平时安装 windows一样,一路“下一步”:





安装好会在桌面上创建快捷方式(安装时选择在桌面创建快捷方式),这个没有图标是因为这个程序编译时没有设置图标,双击这个图标运行:



可以正常运行,现在就可以把这个安装包发布,安装到别的电脑上了。

注意:Qt5.7以后的版本都不再支持XP系统。

发布

打包好的文件就可以发给朋友用了!

Qt 应用程序打包成安装文件的更多相关文章

  1. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  2. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  3. JAVA程序打包成exe文件详细图解

    我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: eclipse ...

  4. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  5. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  6. 使用exe4j把JAVA GUI程序打包成exe文件时遇到的问题

    1.把项目打包成jar文件时,只要勾选src目录就行了,其他的比如资源文件和jar包是不能添加进去的. 2.在D盘建一个文件夹,最好与项目同名,然后把打包好的jar包放进去,其他资源文件(图片之类的) ...

  7. C# 程序打包成安装项目

    Xaml设置图标https://blog.csdn.net/u014234260/article/details/73648649 winform程序控制面板中卸载显示图标https://blog.c ...

  8. Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结

    最近有对一个Windows应用程序少许维护和修改.修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下. Visual Studio版本:Visual St ...

  9. Swing项目编译成exe,并且打包成安装文件(二)

    前面我们讲到了将Swing项目编译成双击可执行的文件exe,这篇我就教大家怎么把exe打包成需要在电脑安装的那种,首先需要一个工具,Inno Setup 编译器, 下载地址,我这个是汉化版的,双击打开 ...

随机推荐

  1. (数据科学学习手札89)geopandas&geoplot近期重要更新

    本文示例代码及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 最近一段时间(本文写作于2020-07-1 ...

  2. element-ui的upload组件的clearFiles方法的调用

    element-ui使用中碰到的问题 <template> <div> <el-button @click="clearFiles">重新上传& ...

  3. 数据可视化之powerBI技巧(二)Power BI性能分析器,原来还有这个功能

    ​性能分析器是Power BI前几个月推出的功能,主要用于检测视觉对象和DAX的性能如何,该功能的使用比较简单,首先勾选这个功能, 然后点击开始记录并刷新视觉对象,就可以看出每个元素耗费的时间,如下图 ...

  4. Django- 开发通用且万能的的权限框架组件

    本节内容 需求讨论 权限设计 代码设计 自定义权限钩子 业务场景分析 假设我们在开发一个培训机构的 客户关系管理系统,系统分客户管理.学员管理.教学管理3个大模块,每个模块大体功能如下 客户管理销售人 ...

  5. 【JS代码压缩】使用YUI Compressor对js文件进行压缩处理

    概述 在使用html5开发Hybird APP的时候,可能会引入大量的js包,另外对于一些核心的js文件,进行一些特殊的处理, 如压缩和加密就显得很重要了,YUI Compressor就是这样一个用于 ...

  6. MSF查找提权exp

    0x01:介绍 在拿到一个反弹shell后,下一步可以用metaspolit的内置模块Local Exploit SuggesterLocal-exploit-suggester的功能就如它的名字一样 ...

  7. reCAPTCHA无法加载?一个小工具就可以轻松解决!

    Chrome用户可以在应用商店搜索gooreplacer安装,或者点我下载,然后打开chrome://extensions/,将下载的crx文件拖入浏览器窗口,即可完成安装 Firefox用户可以在  ...

  8. 性能测试必备知识(6)- 如何查看“CPU 上下文切换”

    做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 课前准备,安装 sysbench 下载 sy ...

  9. APP自动化 -- swipe(滑动屏幕)

  10. CSS3选择器用法小结

    1.*通配符选择器 eg:*{margin:0;padding:0;} 2.#id选择符 ID选择器是CSS中效率最高的选择器,使用的时候要保证ID的唯一性 eg:#div{width:960px;m ...