程序以test为例:
-
QtCreate使用Release版本编译
-
从可运行程序的文件中拿出可执行文件,例:test
-
终端下使用ldd命令查看需要的连接库,例:ldd test
-
把ldd查询到的所有需要的库导出
这里提供一个脚本将ldd打印出来的依赖库复制到指定路径
#!/bin/sh
exe="test" #发布的程序名称
des="./lib" #你的路径
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
- 编写.sh文档 并将它放在与步骤4同一目录下(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)
.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 "$@"
- 执行这个.sh文件:
可能因为不行执行需更改权限:
chmod +x text.sh