linux下Qt打包

linux下Qt打包,第1张

linux下Qt打包

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=`basename 
chmod 777 MiMouse.sh
| sed s,.sh$,,` dirname=`dirname
sh 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文件夹发送给目标机器了,执行方法

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5442997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存