Windows和Linux下QT发布程序打包

**

更新时间:2022-03-01

**

Windows下打包exe

windows下打包采用自带的qt打包工具比较方便
1.先找到编译器的windeployqt.exe打包文件
2.打开qt的控制台,然后执行打包命令windeployqt exeName
这样,所依赖的qt文件就会自动打包好了。
F:\QT\5.10.1\mingw53_32\bin

在这里插入图片描述
在这里插入图片描述

windows下打包所有文件为一个exe

打包工具Engima Virtual Box
https://enigmaprotector.com/en/downloads.html
在这里插入图片描述
安装后按以下使用即可。
在这里插入图片描述

Linux下打包exe

Linux下的打包方式有很多种,需要了解shell脚本的编写方式。

参考:Linux下打包发布Qt应用程序

方法1:使用脚本打包

release生成一个可执行文件后,新建一个文件夹,把可执行文件放进去。
再新建两个脚本(你的可执行文件名).sh和pack.sh

这个文件需要修改两个属性,文件名和打包生成链接库目录
pack.sh:

#!/bin/sh  
exe="ljdemo" #你需要发布的程序名称
des="/home/good/QTdemo/ljdemo/Release/dabao" #创建文件夹的位置
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des

可执行文件名.sh

#!/bin/sh  
appname=`basename $0 | sed s,\.sh$,,`  
dirname=`dirname $0`  
tmp="${dirname#?}"  
if [ "${dirname%$tmp}" != "/" ]; then  
dirname=$PWD/$dirname  
fi  
LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "$@"

在这里插入图片描述

1.先给两个.sh文件执行权限

chmod +x pack.sh

2.运行pack.sh
生成依赖库文件

3.运行可执行文件.sh

大功告成!!!

windows下打包exe

打包后运行报错
在这里插入图片描述

错误原因
很可能是电脑中安装了多个不同编译版本的Qt,如MinGW版和MSVC版。

解决方法
启动对应编译器的Qt命令行,然后在命令行中执行命令。
windeployqt xx.exe

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值