ubuntu系统下打包QT等程序依赖和程序启动脚本
将依赖拷贝至指定文件夹
1.使用的基本指令为:
ldd AppName | awk '{print $3}' | xargs -i cp -L {} AppDir
2.具体实现拷贝依赖的shell脚本
新建名为CopyLib.sh脚本,内容填写如下:
#!/bin/bash
libDir=$PWD"/requireLib"
target=$1
$(mkdir $libDir)
ldd $target | awk '{print $3}' | xargs -i cp -L {} $libDir
注:CopyLib.sh要具有运行权限
sudo chmod 755 CopyLib.sh
使用方法:
进入想要打包依赖的文件目录,运行脚本,后跟文件名,如想要打包"/opt"目录下名为"test"文件的依赖:
cd /opt
./CopyLib.sh test
运行完毕后在当前目录就生成了"requireLib"目录,目录中即为"test"文件所需依赖库
程序启动脚本(自动带有环境变量)
如,想要运行"/opt"目录下的"test"可执行文件,其依赖为"/opt"目录下的"lib"目录,则可以
在目录内新建同名.sh启动脚本
touch test.sh
赋予可执行权限
sudo chmod 755 test.sh
在脚本文件中填写如下内容:
#!/bin/bash
CURRENT_DIR=$(cd $(dirname $0); pwd)
cd $CURRENT_DIR
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
name=$0
name=${name##*/}
name=${name%%.*}
./$name
启动程序可使用指令:
./test.sh
ubuntu系统下打包QT等程序依赖和程序启动脚本----完毕