linux下qt程序打包记录

参见:使用linuxdeployqt在linux下进行Qt打包发布(超详细) - 灰信网(软件开发博客聚合) (freesion.com)

一、pro配置

QMAKE_LFLAGS += -no-pie#支持双击打开exe。这时候就不需要脚本。直接双击就可以打开exe了
CONFIG(debug, debug|release): {
  } else:CONFIG(release, debug|release):{
    LIBS += -Wl,-rpath=./lib#这是寻找库的路径。
  }

二、linuxdeployqt 编译打包

        linuxdeployqt源码编译打包请自行百度。

        最终打包下来回是这样子

        

 default.desktop是默认创建的快捷方式。qt.conf是qt环境配置文件。至此 直接双击exe应该是可以运行的。

三、deb打包

        主要是DEBIAN文件夹:里面创建三个文件:control  postinst   postrm文件。

control:

Package: Vultasound
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Depends:
Installed-Size: 512
Maintainer: 123@163.com
Description: my test package


postinst:

#!/bin/sh
cp /opt/VUltPlatform/default.desktop /usr/share/applications/
des="/home/${SUDO_USER}/Desktop"
if [ ! -d "/home/${SUDO_USER}/桌面" ]
then
des="/home/${SUDO_USER}/Desktop"
else
des="/home/${SUDO_USER}/桌面"
fi
echo "创建桌面快捷方式"
cp /opt/VUltPlatform/default.desktop "$des"
chmod +x ${des}/default.desktop
#cp /opt/VUltPlatform/default.desktop /home/${SUDO_USER}/Desktop/
#chmod +x /home/${SUDO_USER}/Desktop/default.desktop


postrm:

#!/bin/sh
rm /usr/share/applications/default.desktop
filename=/home/${SUDO_USER}/Desktop/default.desktop
if [ -f ${filename} ]
then
    rm ${filename}
else
    rm /home/${SUDO_USER}/桌面/default.desktop
fi
exit 0

四、快捷方式运行

        安装成功后快捷方式是不能运行的。需要另外配置。原因是找不到相关库环境

        需要写一个执行脚本

#!/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/lib                #lib就是linuxdeployqt打包后里面的lib
export LD_LIBRARY_PATH
$dirname/$appname "$@"

这样*.desktop里面直接配置脚本绝对路径即可。

五、相关命令

dpkg -b . ../output/VUltasound_amd64_v1.0.deb        //打包
sudo dpkg -i VUltasound_amd64_v1.0.deb                //安装
sudo apt remove vultasound                                         //卸载

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值