Qt PC Windows 打包

Qt Windows 打包需要的工具:

1、安装Qt5.15.0  MSVC2019 32bit(默认路径)

2、安装nsis-3.06.1-setup.exe(或更高)(默认路径)

3、安装ksign_installer3.exe

4、安装证书(没有证书略过)

5、设置vcversion 环境变量,把下面文件夹名称配到环境变量里,脚本里会用到

6、添加环境变量

C:\Qt\Tools\QtCreator\bin

C:\Qt\5.15.0\msvc2019\bin

C:\Program Files (x86)\kSign

C:\Program Files (x86)\NSIS\Bin

7、执行 打包 deploy.cmd 脚本

@REM 使用utf-8
@REM chcp 65001

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"
echo build .exe
cd app
@清理文件夹下所有子目录,不需要确认
rd /q /s release

@REM vcversion放到系统环境变量中

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\%vcversion%\bin\Hostx86\x86\nmake.exe" clean
qmake -config release
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\%vcversion%\bin\Hostx86\x86\nmake.exe"
cd ..
echo deploy qt dependencies
@REM 需要更新库时再执行一遍windeployqt,然后更新mkexe/libs
@REM windeployqt app\release\app.exe --qmldir rcc --verbose 3 --force --no-translations --compiler-runtime --angle --no-virtualkeyboard --no-webkit2
echo build rcc
cd rcc
call build.cmd
cd ..
echo return from rcc
copy rcc\dist\*.rcc app\release
del /q /s *.obj
cd mkexe
call create.cmd
cd ..

create.cmd 脚本如下:

@REM 使用utf-8
chcp 65001

set data_dir=".\bin"
if exist %data_dir% (		
    rd /q /s %data_dir%
) 
mkdir %data_dir%
xcopy "..\app\release"  %data_dir%  /E /Y 
xcopy ".\libs"  %data_dir%  /E /Y 
del /q /s %data_dir%\app.pdb
del /q /s %data_dir%\app.map
rd  /q /s %data_dir%\virtualkeyboard
rd  /q /s %data_dir%\qmltooling
del /q /s %data_dir%\*.cpp
del /q /s %data_dir%\*.h
@REM del /q /s %data_dir%\d3dcompiler_47.dll

@REM copy lav filters
@REM copy ".\LAVFilters-0.74.1-x86\*.*" %data_dir%

signtool sign /v /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com .\bin\app.exe
signtool sign /v /as /fd SHA256 /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com .\bin\app.exe


makensis .\WelcomeFinish.nsi

echo %DATE%
echo %TIME%
set  datetimef=%date:~8,2%%date:~11,2%-%time:~0,2%%time:~3,2%
@REM set  datetimef=%date:~8,2%%date:~11,2%
echo date string: %datetimef%

@REM set app_version="0.0.0-%1-%datetimef%"
set app_version="0.0.0"
signtool sign /v /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com APP名-%app_version%.exe
signtool sign /v /as /fd SHA256 /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com APP名-%app_version%.exe
signtool sign /v /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com APP名-%app_version%.exe
signtool sign /v /as /fd SHA256 /f .\certs\证书名.pfx /p 证书密码 /tr http://timestamp.digicert.com APP名-%app_version%.exe

rename APP名-%app_version%.exe "XXXX-%app_version%-%datetimef%.exe"

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Valar Morgulish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值