树莓派 linux环境 QT程序打包方法

本文详细介绍了在Linux系统中如何打包QT程序,包括两种方式:打包成二进制文件和打包成安装包。主要步骤涉及切换到Release模式编译、使用ldd获取依赖库、复制必要文件夹、创建并运行脚本等。最后,通过创建桌面快捷方式和安装脚本来完成打包过程。此教程适用于需要跨平台部署QT应用的开发者。
摘要由CSDN通过智能技术生成

window系统打包QT方法很多,用官方提供的windeployqt工具就可以,不过对应的版本要对。

linux 系统打包QT程序要稍稍复杂一点,一般有两种方式:

1.打包成二进制文件,2.打包成安装包形式

具体步骤如下:

1.将工程改成Release模式编译运行

2.打开编译输出的文件夹,(带二进制的可执行文件那个)。在这个新建的文件夹中新建一个脚本文件install.sh,用命令chmod 777 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

3.切换到当前文件夹,运行./install.sh uidemo01,(uidemo01是上一步编译输出的二进制可执行文件),运行完上述指令后,同目录下会生成lib文件夹,

4.在桌面或其他合适的地方创建一个文件夹如app把上一步编译输出的二进制可执行文件和ib文件夹里生成的库文件全部复制过来,不用复制lib文件夹

5.进入QT的安装目录,找到platforms文件夹,如:/usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms,将整个platforms文件夹复制到app文件夹中

6.将上文的install.sh文件放到app/platfroms中,然后切换到当前文件夹路径,运行./install.sh libqxcb.so,这时会生成一个新的lib文件夹(即libqxcb.so的库文件)。

7.将运行生成的lib文件夹里libqxcb.so的库文件全部复制到app文件夹里去,然后可以删除app/platfroms/lib文件夹

8.在app文件夹里新建脚本文件uidemo01.sh,执行命令chmod 777 uidemo01.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 "$@"

9.这时把整个app文件夹复制到别的电脑上,运行./uidemo01.sh脚本,就可以启动程序了

这是就基本完成了打包成二进制文件,下面继续可以打包成可安装程序

10.将二进制文件uidemo01和资源文件复制到app文件夹中,然后在APP文件夹中新建uidemo01.desktop文件,并写入以下内容

[Desktop Entry]
Type=Application
Name=测水仪
Exec=/home/pi/Desktop/app/uidemo01.sh
Icon=/home/pi/Desktop/app/image/5.png
Encoding=UTF-8
Version=1.0

 其中Exec路劲和Icon图标路径根据实际情况进行修改

11.在app文件夹下新建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
CurDir=$PWD"/uidemo01.desktop"
ExecDir=$PWD"/uidemo01.sh"
IconDir=$PWD"/image/5.png"
sudo sed -i "4c Exec=$ExecDir" $CurDir
sudo sed -i "5c Icon=$IconDir" $CurDir
sudo cp $CurDir /usr/share/applications/uidemo01.desktop
cp $CurDir /home/pi/Desktop/uidemo01.desktop

其中,CurDir和ExecDir,IconDir 根据实际情况进行修改。

12.运行./setup 文件,就可以生成桌面快捷方式,这时就完成了QT安装程序的打包,亲测可用。

若有提示错误请检查库文件是否齐全或者是文件权限是否修改

参考:https://blog.csdn.net/weixin_43219970/article/details/87269166

            https://blog.csdn.net/z3512498/article/details/64922180

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值