linux树莓派官方系统打包Qt程序并生成桌面启动快捷方式

1 篇文章 0 订阅
1 篇文章 0 订阅

说明:本文是参考原文https://blog.csdn.net/weixin_43219970/article/details/87269166

然后根据原文的方式进行了验证和修改,并最终实现了打包程序。

 

1.qt创先project ,取名为test,程序编辑完后先将工程使用Release模式编译
2.桌面上创建demo文件夹,打开qt编译输出文件的Release文件夹中test复制到demo文件中。
3.在demo文件夹中新建一个脚本文件 install.sh,通过指令chmod 777 install.sh修改权限
4.向install.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

5、运行./install.sh test,可能会报:No such file or directory 不用管它,运行完上述的指令后,同目录下会生成lib文件夹,里面会有很多文件。
6、将上一步lib文件夹下的文件全部复制到demo文件夹中。
7、.进入QT的安装目录(可以用用查看命令:whereis qtcreator  ),找到platforms文件夹,如:/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms,
将整个platforms文件夹复制到demo文件夹中,如下命令:

cp -r /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms /home/pi/Desktop/demo


8.将上文的install.sh文件放到platfroms/中,运行./install.sh libqxcb.so,这时会新生成一个lib文件夹——libqxcb.so的库文件夹
9.将libqxcb.so的库文件夹中的所有文件复制到demo文件夹中,替换所有,然后删除platfroms/lib文件夹
10.在demo文件夹中新建脚本文件test(程序的名称).sh,执行chmod 777 test.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 "$@"

11、将图标等其他资源文件(文件或文件夹)复制到demo文件夹中,就制作完成了一个文件安装包
12、在demo下新建test.desktop文件,并写入以下内容

[Desktop Entry] 
Type=Application
Name=test   		
Exec=/home/pi/Desktop/demo/test.sh   //可执行文件的路径
Icon=/home/pi/Desktop/demo/app.ico   //快捷方式的图标文件路径
Terminal=false 
Encoding=UTF-8
Version=1.0``

13、在demo下新建setup脚本文件用于安装,并写入以下内容

#!/bin/bash
#start pi spi
pwds=/boot/config.txt
sudo sed -i 's/dtparam=spi=off//g' $pwds
sudo sed -i 's/dtparam=spi=on//g' $pwds
sudo sed -i '$a dtparam=spi=on' $pwds
#reboot后生效
CurDir=$PWD"/test.desktop"
ExecDir=$PWD"/test.sh"
IconDir=$PWD"/app.ico"
sudo sed -i "4c Exec=$ExecDir" $CurDir
sudo sed -i "5c Icon=$IconDir" $CurDir
sudo cp $CurDir /usr/share/applications/test.desktop
cp $CurDir /home/pi/Desktop/test.desktop

14、设置权限:chmod 777 setup 然后运行./setup安装程序并生成桌面快捷方式```

注意:文中的test为工程中生存的可执行文件名,根据自己实际情况替换。
若运行时提示.so文件找不到,可以修改/etc/ld.so.conf文件,在其尾部添加so文件所在文件夹路径,
或者将so文件放到/usr/local/lib下。
然后执行ldconfig重新加载。
原文链接:https://blog.csdn.net/weixin_43219970/article/details/87269166

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值