linux 环境打包QT程序并生成桌面启动快捷方式(树莓派)

1.先将工程使用Release模式编译
2.打开编译输出文件的文件夹(带二进制的可执行文件如test_p)
3.在编译生成的文件夹中新建一个脚本文件 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_p,运行完上述的指令后,同目录下会生成lib文件夹,
6、创建空白installer文件夹,将上一步lib文件夹下的文件全部复制到installer文件夹中。
7、.进入QT的安装目录,找到platforms文件夹,如:/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms,
将整个platform文件夹复制到installer文件夹中
8.将上文的install.sh文件放到installer/platfroms/中,运行./install.sh libqxcb.so,这时会新生成一个lib文件夹——libqxcb.so的库文件夹
9.将libqxcb.so的库文件夹中的所有文件复制到installer文件夹中,然后删除installer/platfroms/lib文件夹
10.在installer文件夹中新建脚本文件test_p(程序的名称).sh,执行chmod 777 test_p.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、将二进制文件test_p和图标等其他资源文件复制到installer文件夹中,就制作完成了一个文件安装包
12、在installer下新建test_p.desktop文件,并写入以下内容

[Desktop Entry] 
Type=Application
Name=World    		//显示在桌面的程序名
Exec=/home/pi/Downloads/test_install/Test_P.sh   //可执行文件的路径
Icon=/home/pi/Downloads/test_install/Pyte_Data/icon.png     //快捷方式的图标文件路径
Terminal=false 
Encoding=UTF-8
Version=1.0``

13、在installer下新建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_p.desktop"
ExecDir=$PWD"/Test_P.sh"
IconDir=$PWD"/Pyte_Data/icon.png"
sudo sed -i "4c Exec=$ExecDir" $CurDir
sudo sed -i "5c Icon=$IconDir" $CurDir
sudo cp $CurDir /usr/share/applications/test_p.desktop
cp $CurDir /home/pi/Desktop/test_p.desktop

14、运行./setup安装程序并生成桌面快捷方式```

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

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值