南昌住房城市建设支行官方网站,商务网站模块设计时前台基础设施建设不包括,汽车网址大全软件下载,深圳拼团网站建设一、简述 Qt项目开发完成之后#xff0c;需要打包发布程序#xff0c;而因为用户电脑上没有Qt配置环境#xff0c;所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中#xff0c;然后再用 Inno Setup打包工具 打包成一个exe安装包#xff0c;就可以发布了…一、简述 Qt项目开发完成之后需要打包发布程序而因为用户电脑上没有Qt配置环境所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中然后再用 Inno Setup打包工具 打包成一个exe安装包就可以发布了。 二、设置应用程序图标 我们编译好生成的exe文件的图标是Qt自带的一个白色的框框不太好看怎么能够自己设置程序的图标呢。先创建一个ico格式的文件网上有很多在线就可以把png或jpg的图片转成ico格式的图标文件然后把ico文件放到源代码目录下就是.pro文件的同一文件夹下。 在.pro项目文件中添加 RC_ICONS car.ico //这里的car.ico是我的ico文件的名字改成你自己的ico文件名 添加完后一定要重新qmake一遍然后再运行一遍你的程序这样再看你的debug或者release文件夹下的exe文件就会有你设置好的图标了。 三、发布程序 发布程序首先要获得所依赖的dll文件这里有两种方法。方法一就是去Qt安装目录的bin目录笔者这里是F:\technology\Qt5.9.7\5.9.7\mingw53_32中找所依赖的dll文件。方法二就是使用Qt自带的发布程序工具windeployqt.exe可以生成所依赖的dll文件。这里着重讲解第二种方法步骤如下 1以 Release 方式编译生成 exe 程序,也就是调试运行的方式选择Release。 运行成功后如果勾选了“shadow build”将源码路径和构建路径分开那么将在 build-cleanRobot-Desktop_Qt_5_9_7_MinGW_32bit-Release 文件夹下生成exe文件如下图1所示 否则在源码工程目录下的 release 文件夹下生成exe文件如下图2所示。 将 cleanRobot.exe 可执行文件复制到别的文件夹下这里我复制到F:\cleanRobot下然后在 “开始菜单Qt5.9.7” 下找到 “Qt 5.9.7 for Desktop cmd”运行文件打开运行。 执行cd F:\cleanRobot命令进入exe文件所在目录下, 再执行dir命令查看目录最后执行windeployqt cleanRobot.exe命令Qt就会自动把该程序所需要的所有dll拷贝过来。 当然有可能有些dll不是我们需要的例如下面的D3Dcompiler_47.dll为了使发布程序尽可能的小可以把这些dll一个一个删掉再打开exe程序看哪些dll是删掉后就打开不了程序的保留下来剩下的删除即可。 再将自带文件夹例如下图的image文件夹复制过来删掉不必要的dll之后的exe安装包文件夹如下图所示。 其实到这一步就可以将整个文件夹发布出去了但如果想打包成一个exe安装包就要进行下面的步骤了。 四、打包程序 官方下载地址http://www.jrsoftware.org/isdl.php#stable 下载后直接安装即可。 项目开发完成之后需要打包程序发行可以使用 Inno Setup 软件制作安装exe。以下详细讲解如何打包应用程序 1打开Inno Setup Complier点击 “文件”—“新建”新建一个脚本向导程序然后点击“next” 2在应用程序信息中输入“应用程序名称”、“应用程序版本”、“应用程序发布者”、“应用程序网站”这些信息会自动在脚本中生成然后点击下一步 3自定义打包文件的的输出地址以及输出文件夹的名称然后点击下一步 4选择应用程序的主执行文件也就是你编译生成的exe文件下面点击“Add folder ”把所有你的程序运行需要的dll和资源以及配置文件放在一个文件夹里选择这个文件夹然后点击下一步 注Add folder 添加.exe的父文件夹将依赖的dll等文件全部包含在内。 5输入应用程序在开始菜单中显示的名字需要哪些功能在前边打上对勾一般默认即可然后点击下一步 6这里可以选择“许可文件”“安装前的文件”如Readme文件等“安装后显示信息”等然后点击下一步 7选择安装语言然后点击下一步 8选择“自定义编译器输出文件夹”、“编译器输出基本文件名”、“自定义的安装程序图标文件”及“安装密码”然后点击下一步 注第一个选项表示的是生成的 安装包*.exe 的输出目录。icon文件是 安装包*.exe 的图标文件。 9在这里选择是否使用#define编译指令选择yes也就是在生成的脚本里使用#define宏定义一些常量方便脚本编写勾不勾选随意然后点击下一步 前面最后一步中间会询问你是否立即编译新的脚本这个脚本是根据刚才我们前面填写的那些内容自动生成的。可以直接使用编译也可以自己重新编写下面贴出生成的脚本代码。 ; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!#define MyAppName 红牌检测系统
#define MyAppVersion 2.5
#define MyAppPublisher SHIOTC, Inc.
#define MyAppURL http://www.shiotc.com/
#define MyAppExeName redplate_qt.exe[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId{{D21B4F6B-401E-4575-B6E1-612A9CA50D58}
AppName{#MyAppName}
AppVersion{#MyAppVersion}
;AppVerName{#MyAppName} {#MyAppVersion}
AppPublisher{#MyAppPublisher}
AppPublisherURL{#MyAppURL}
AppSupportURL{#MyAppURL}
AppUpdatesURL{#MyAppURL}
DefaultDirNameD:/redplate_detection_v2.5
DefaultGroupNameredplate_detection_v2.5
OutputDirE:\carriage_recognition\redplate_detection\qt\redplate_qt_svm2\x64\Release
OutputBaseFilenameredplate_detection_2.5
;SetupIconFileE:\carriage_recognition\redplate_detection\qt\redplate_qt_svm2\x64\Release\ICON.ico
Password123456
Compressionlzma
SolidCompressionyes[Languages]
Name: english; MessagesFile: compiler:Default.isl[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked[Files]
Source: E:\carriage_recognition\redplate_detection\qt\redplate_qt_svm2\x64\Release\redplate_qt.exe; DestDir: {app}; Flags: ignoreversion
Source: E:\carriage_recognition\redplate_detection\qt\redplate_qt_svm2\x64\Release\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Dont use Flags: ignoreversion on any shared system files[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, , )}}; Flags: nowait postinstall skipifsilent 注运行过程中出现错误可以直接在脚本中进行修改。 最后就生成了exe安装包文件点击打开exe文件即可进行安装如下图所示。 参考 Qt使用自带的windeployqt 生成exe来发布软件 QT 程序发布以及用Inno Setup打包成安装包 使用Inno Setup Compiler制作安装软件包 转载于:https://www.cnblogs.com/linuxAndMcu/p/10974927.html