0


Linux下QT程序打包

Linux下QT程序打包

    网上有关QT程序打包的教程大多都是Windows下的教程,有关Linux下QT程序打包的教程很少,而且大多说的不是很详细,在这里我整理了以下有关Linux下QT程序打包的方法,仅供大家参考学习,有关Windows下QT程序打包的方法可以看我另一篇博客“QT项目超详细打包教程。

    目前我接触到的Linux下的QT程序打包方法主要有两种:第一种:通过脚本进行打包,这种方法简单方便,但是通过这种方式打包的QT程序,并不能放到另一台干净的Linux系统下运行,所以不太推荐;第二种:通过Linuxdeployqt进行打包,通过这种方法打包QT程序也很方便,而且打包的程序可以放到任何Linux环境下直接运行。下面我将详细介绍以下两种打包方式,大家可以根据自己的实际使用情况任意选择打包方式。

前提准备

   1. 不管通过那种打包方式进行QT程序打包,都要先通过release编译执行生成目标可执行文件。

    2.新建test文件夹(可以是任意文件夹)。

    3.找到release生成的可执行文件,并将其复制一份到我们新建的test文件夹。生成的可执行文件一般就存在于我们项目目录中的release文件夹下面的bin目录下。 下面是我的路径以及可执行文件。

一、通过脚本打包

    1.在我们新建的test文件夹下新建pach.sh脚本。

     脚本内容如下:其中exe后边的内容就收我们的可执行文件名称,des后边的内容就是我们test文件夹所在的路径,其他内容都不需要改变。
#!/bin/sh

exe="FiberConfigTool"

des="/临时文件/test/"

deplist=$(ldd $exe|awk '{if (match($3,"/")){printf("%s "),$3}}')

cp $deplist $des
    2.赋予脚本权限

     3.执行pach.sh脚本,通过执行脚本可以将可执行程序依赖的库都方到test文件夹下。

    4.新建FiberConfigTool.sh脚本,并赋予权限(可以是任何名称,建议命名为可执行文件的名称)。

    脚本内容如下:只需要修改appname后面的内容为我们的可执行文件名称即可,其他的不需要改变。
#!/bin/sh  

appname=FiberConfigTool #要运行的程序名

dirname=`dirname $0`

tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then

dirname=$PWD/$dirname

fi

LD_LIBRARY_PATH=$dirname

export LD_LIBRARY_PATH

$dirname/$appname "$@"
     5.运行FiberConfigTool.sh脚本运行程序即可,到此通过脚本打包完毕。

二、通过linuxdeployqt进行打包

    1.下载linuxdeployqt:https://github.com/probonopd/linuxdeployqt/releases

    2.将下载下来的linuxdeployqt-x86_64.AppImage重命名为linuxdeployqt,之前的名字太长,看着别扭。

    3. 赋予linuxdeployqt权限

    4.将修改好的linuxdeployqt放到/usr/local/bin目录下,这样我们在任何地方都能够运行 linuxdeployqt。

     5.测试linuxdeployqt是否安装成功,出现以下内容表示安装成功。

     6.修改文件bashrc文件

    在bashrc文件最后追加以下内容:其中/opt/qtcreator-4.14.0/bin是QT的安装路径修改成自己的即可。
#add qt env
export PATH=/opt/qtcreator-4.14.0/bin/:$PATH
export LIB_PATH=/opt/qtcreator-4.14.0/bin/lib:$LIB_PATH
export PLUGIN_PATH=/opt/qtcreator-4.14.0/bin/plugins:$PLUGIN_PATH
export QML2_PATH=/opt/qtcreator-4.14.0/bin/qml:$QML2_PATH
    不知道自己QT安装路径的可以通过下面方法获取:whereis qt

     7.使用source命令让bashrc文件立即生效

    8.测试环境变量,查看是否正确,看到qmake版本表示正确。

    9.拷贝依赖文件,如有报错直接忽略等待命令执行完毕即可。

    10. 切换到新建的test文件夹下,执行可执行文件,查看是否打包成功,到此通过linuxdeployqt打包完毕。

标签: qt 开发语言

本文转载自: https://blog.csdn.net/qq_47023150/article/details/131105980
版权归原作者 xiq1212 所有, 如有侵权,请联系我们删除。

“Linux下QT程序打包”的评论:

还没有评论