一、qml项目程序打包依赖库
项目编译得到的exe,直接运行是需要相关的依赖库;借助Qt自带的windeployqt可以导入exe程序运行所需要的依赖库;
示例: windeployqt 程序.exe -release -qmldir Qt安装目录下的qml库路径 --dir 指定打包到固定的目录
注意事项:
1).打包目录不支持含中文路径
2).打包依赖的qtenv2.bat(好像是这个,暂时没去看;下次确定了再修改)分32和64位版本;
参考:
(1).带参数解析 Qt QML 程序如何使用工具 windeployqt.exe 打包部署? - 知乎 (zhihu.com)
(2).带32和64区别提示 QT-windepolyqt打包程序详细介绍_qtdeploywin-优快云博客
二、 对windeployqt打包出来的依赖库文件进行封装
1.利用Enigma Virtual Box压缩成绿色可执行exe文件(暂未实现脚本式,不做赘述)
参考链接:
1).带Qt打包步骤: QT使用Enigma Virtual Box打包exe_enigma virtual box 打包qt 文件无法运行-优快云博客
2).图文更详细: 使用 Enigma Virtual Box 打包单文件_enigma virtual box使用教程-优快云博客
2.利用inner setUp Compiler打包成exe可安装文件
参考链接:
1).链接:超级详细:使用Inno Setup打包可执行的exe软件,可在任何电脑中运行。_nno setup 打exe-优快云博客
2).链接2:Inno Setup软件 打包多个安装包程序_inno steup打包多个setup-优快云博客
3).链接3: 使用inno setup将exe文件及其附带文件打包成安装文件_怎么将一个exe和一个txt文件一同打包成一个win可下载的安装包-优快云博客
(1).制作完成inno setUp的打包.iss文件后,即可利用目录下Compli32.exe文件制作32位可安装的exe执行文件;
指令 Compil32.exe /cc 打包步骤.iss文件
(2).将制作并验证好的iss文件拷贝到编译目录,并生成Compil32.exe的快捷方式链接,也拷贝到编译目录;
(3).添加构建步骤到配置打包脚本到构建目录中,执行编译后即可生成exe文件(注意:exe文件生成的目标路径为.iss打包文件配置的目标目录,以及目标名称)
参考脚本 WindployqtPackge.bat:
::QT环境下的打包脚本 -> C:\QtOnline\5.12.12\mingw73_32\bin\qtenv2.bat
@echo off
echo Setting up environment for Qt usage...
set PATH=C:\QtOnline\5.12.12\mingw73_32\bin;C:/QtOnline/Tools/mingw730_32\bin;%PATH%
cd /D C:\QtOnline\5.12.12\mingw73_32
::程序包名
set exename=TheControl.exe
::windeploy路径
set qmlDir=C:\QtOnline\5.12.12\mingw73_32\qml
windeployqt %~dp0%exename% -release -qmldir %qmlDir% --dir %~dp0exe
xcopy /y %~dp0%exename% %~dp0%exe
%~dp0Compil32.lnk /cc %~dp0toPackage.iss
::iscc %~dp0toPackage.iss
::pause