1.新建Demo文件件,并将二进制可执行文件MiMouse放置在目录内
2.在Demo文件夹下新建copy.sh文件
touch copy.sh
copy.sh文件内容如下
#!/bin/bash LibDir=$PWD"/lib" #获取lib目录路径 Target= lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*")) $(mkdir $LibDir) #创建lib目录 for Variable in ${lib_array[@]} #循环所有依赖的动态库路径 do cp "$Variable" $LibDir #拷贝到lib目录中 done
3.给copy.sh文件赋予权限并执行
chmod 777 copy.sh
./copy.sh MiMouse
4.将生成的lib目录中的所有文件移动到上层,与可执行文件同级,然后将lib目录删除
mv lib/* ./
rmdir lib/
5.进入QT安装目录将copy.sh放到该目录下并执行
cd /usr/lib/loongarch64-linux-gnu/qt5/plugins
6.将copy.sh文件移动到platforms文件夹下并执行
./copy.sh libqxcb.so
7.将platforms整个目录移动到Demo文件夹下并将链接库移动到Demo目录,删除lib文件夹和copy.sh文件
mv platforms/lib/* ./
rmdir platforms/lib/
rm platforms/copy.sh
8.移动一些Qt配置文件
在Qt安装目录将audio文件夹 imageformats文件夹移动到Demo文件夹下
9.在Demo目录下编写.sh运行脚本,脚本名必须与可执行程序一致
touch MiMouse.sh
#!/bin/sh appname=`basenamechmod 777 MiMouse.sh| sed s,.sh$,,` dirname=`dirnamesh MiMouse.sh` tmp="${dirname#?}" if [ "${dirname%$tmp}" != "/" ]; then dirname=$PWD/$dirname fi LD_LIBRARY_PATH=$dirname export LD_LIBRARY_PATH=$PATH:/usr/local/lib:$PWD $dirname/$appname "$@"
10 现在可以将Demo文件夹发送给目标机器了,执行方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)