准备工作:
项目/可执行文件名:QTAppName
打包项目存放的文件名:pack(这个文件名无所谓)
脚本名:
copylib.sh(类似ldd命令):用于将.so库文件的依赖项复制并放入自动生成的 “lib文件” 中。
QTAppName.sh(注:该脚本名为"可执行文件名.sh")“:用于最后执行可执行文件的脚本
- 将Qt项目使用Release模式编译运行一遍,确保生成可执行文件 QTAppName
- 脚本编写:
copylib.sh
#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
QTAppName.sh
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dir