1 简介

  • windows下打包Qt程序有对应的工具windeploy,linux没有自带的,便自己找。
  • ldd命令用于判断某个可执行的 binary 档案含有什么动态函式库。

2 步骤(脚本)

2.1 Release版本

QtCreate使用Release版本编译

2.2 建文件夹并拷贝执行文件

从可运行程序的文件中拿出可执行文件,例:UmArm

2.3 ldd查看链接库

例:ldd UmArm

2.4 导出所需要的库

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

2.5 编写执行脚本

  • UmArm.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 "$@"

2.6 运行执行脚本

chmod +x UmArm.sh
./UmArm.sh

3 步骤(LinuxDeployQt)


Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
在Linux下使用linuxdeployqt发布Qt程序

参考

1、ubuntu 环境下的QT程序打包
2、linux中的ldd命令简介
3、ldd命令
4、Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
5、在Linux下使用linuxdeployqt发布Qt程序

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐