**
更新时间:2022-03-01
**
Windows下打包exe
windows下打包采用自带的qt打包工具比较方便
1.先找到编译器的windeployqt.exe打包文件
2.打开qt的控制台,然后执行打包命令windeployqt exeName
这样,所依赖的qt文件就会自动打包好了。
windows下打包所有文件为一个exe
打包工具Engima Virtual Box
https://enigmaprotector.com/en/downloads.html
安装后按以下使用即可。
Linux下打包exe
Linux下的打包方式有很多种,需要了解shell脚本的编写方式。
方法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