精华内容
下载资源
问答
  • linuxqt打包工具linuxdeployqt,包含有使用方法,一站式的服务,亲测没任何问题
  • linux qt 打包

    2020-12-22 15:09:00
    一:打包工具的下载 1.linuxdeployqthttps://download.csdn.net/download/leoeitail/11257960 2.patchelfhttps://download.csdn.net/download/leoeitail/11257992 3:appimagetoolhttps://download.csdn.net/...

    一:打包工具的下载


    1.linuxdeployqt
    https://download.csdn.net/download/leoeitail/11257960

    2.patchelf
    https://download.csdn.net/download/leoeitail/11257992

    3:appimagetool
    https://download.csdn.net/download/leoeitail/11257965

     

    二:配置linuxdeployqt


    1:将 linuxdeployqt-5-x86_64.AppImage 重新命名成配置 linuxdeployqt ,移动到 /usr/local/bin目录下

    
     
    1. sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt

    2. chmod 777 linuxdeployqt

    3. sudo mv ./linuxdeployqt /usr/local/bin

    4. sudo linuxdelpoyqt --version

    5. linuxdeployqt 4 (commit 988d294), build 481 built on 2018-02-02 15:05:23 UTC

    2.显示版本表示安装成功。

     

    三:配置patchelf


    1.下载并且解压文件夹,进入patchelf解压的文件夹后执行如下命令

    
     
    1. ./configure

    2. make

    3. sudo make install

    四:配置appimagetool


    1:将appimagetool-x86_64.AppImage重新命名成配置appimagetool,移动到 /usr/local/bin目录下

    
     
    1. sudo mv appimagetool-x86_64.AppImage appimagetool

    2. chmod 777 appimagetool

    3. sudo mv ./appimagetool /usr/local/bin

    五:进入/usr/local/bin目录,执行ls命令出现一下情况

    appimagetool  linuxdeployqt  patchelf

    表示配置成功

     

    六:开始打包程序


    1.随便一个目录创建一个文件夹命名为output.AppDir,我的就直接创建在桌面。比如说我的执行程序名字是demo123,将这个文件放到对应的bin目录下(就只放QTCreator release模式下编译的一个执行文件就可以了),这里面的结构我们梳理一下

    
     
    1. output.AppDir -- usr -- bin -- demo123

    2.                      -- lib -- *.so

    3.                      -- demo123.desktop

    4.                      -- demo123.png

    5.                      -- AppRun

    注意:
    lib文件夹是你的软件需要用到的动态库,将所有的动态库拷贝进去
    demo123.desktop,demo123.png,AppRun自行创建

    2.demo123.desktop中的代码

    
     
    1. [Desktop Entry]

    2. Version=1.0

    3. Name=appDesigner

    4. Exec=

    5. Terminal=false

    6. Type=Application

    7. Categories=Development;

    8. Icon=demo123

    9. StartupNotify=true

    10.  
    11. Name[en_US]=demo123.desktop


    4.AppRun中的代码

    
     
    1. #!/bin/bash

    2. HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

    3. echo "hERe is ${HERE}" //查看当前的路径

    4.  
    5. cd $HERE/usr/bin/

    6.  
    7. //设置环境变量

    8. export LD_LIBRARY_PATH=$HERE/usr/lib/qtlib:$HERE/usr/lib:$LD_LIBRARY_PATH

    9.  
    10. //运行执行文件

    11. ./demo123

    上述AppRun是一段脚本,你们再写的时候,也可以是一个执行文件。

    4.开始终端敲代码了。。。。。。

    linuxdeployqt demo123 -appimage
    这句结束之后,可能AppRun会被覆盖,不过没关系,将上述的代码重新覆盖一下就好了。


    appimagetool output.AppDir/
    这时候就会生成一个以 .AppImage结尾的执行文件,他就是最后生成出来的文件。

    双击即可。完成!

    1.  

    展开全文
  • linuxQT5 程序打包工具,打包完成后是一个单独可运行文件,就像window下exe文件一样双击可运行,可以脱离QT环境。主要是github下载操蛋,下载下来供各位朋友使用。
  • linux Qt程序打包(linuxdeployqt工具的使用)官方提供的最新版本基于Qt5.8的,用户可根据需要从源码编译成本机版本来使用,具体操作过程如下:工具1.linuxdeployqt 依赖工具: patchelf(必须) appimagetool(可选) 2....

    linux Qt程序打包(linuxdeployqt工具的使用)

    官方提供的最新版本基于Qt5.8的,用户可根据需要从源码编译成本机版本来使用,具体操作过程如下:


    工具


    1.linuxdeployqt

    2.Qt

    确保机器已经安装Qt

    如果需要制作成单文件程序,需要用到appimagetool,若不需要可不必下载

    步骤


    1. 官网提供详细步骤,这里说下注意事项
      下载下来的linuxdeployqt
      1.1 (界面编译)打开QtCreator,打开linuxdeployqt项目,直接构建即可,构建完成后在linuxdeployqt目录下可找到编译好的可执行文件(linuxdeployqt)
      1.2 (命令行)打开终端,进入linuxdeployqt项目目录,目录结构如下:

    ls
    BUILDING.md LICENSE.LGPLv3 linuxdeployqt.pro shared
    Dockerfile linuxdeployqt Makefile tests
    LICENSE.GPLv3 linuxdeployqt.AppDir README.md

    执行qmake之前先设置环境变量PATH

    export PATH=~/Qt5.xx.x/5.x/gcc_xx/bin:$PATH
    

    然后执行下

    qmake -v 
    

    查看下当前使用的qmake是否为你需要的版本
    设置完成后在linuxdeployqt项目目录下直接执行qmake,然后再执行make即可,不需要make install

    1.3 这样编译好后的可执行文件位于linuxdeployqt/linuxdeployqt下,将其复制至系统程序可执行目录下即可

    sudo mv linuxdeployqt/linuxdeployqt /usr/local/bin
    

    2.patchelf的编译与安装
    操作步骤:

    • ./configure
    • make
    • sudo make install (直接安装至系统目录即可)

    关于 appimagetool 的安装参照官网即可,直接用wget下载可能比较慢,可用迅雷或其他下载工具下载下来,然后拷贝至linux系统,具体操作步骤:

    suco cp ppimagetool-x86_64.AppImage /usr/local/bin/appimagetool
    sudo chmod a+x /usr/local/bin/appimagetool
    

    使用方法


    • 命令:
      linuxdeployqt ~/path/to/project/application -appimage

    appimage:若根据操作安装了 appimagetool 时该参数有效,使用该参数可将你需要打包的程序打包成单个文件;
    其他相关参数

    Options:
       -verbose=<0-3>      : 0 = no output, 1 = error/warning (default), 2 = normal, 3 = debug
       -no-plugins         : Skip plugin deployment
       -appimage           : Create an AppImage
       -no-strip           : Don't run 'strip' on the binaries
       -bundle-non-qt-libs : Also bundle non-core, non-Qt libraries
       -executable=<path>  : Let the given executable use the deployed libraries too
       -qmldir=<path>      : Scan for QML imports in the given path
       -always-overwrite   : Copy files even if the target file exists
    linuxdeployqt takes an application as input and makes it
    self-contained by copying in the Qt libraries and plugins that
    the application uses.
    

    官方文档

    create by vacant. 转载请注明

    展开全文
  • linuxdeployqt简介linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。我的环境配置Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC方法二 (使用第三...

    11942f9f68fb85684209016b48f57503.png

    前言

    记录在Linux/Ubuntu下,Qt程序的打包发布,写于20191211。

    linuxdeployqt简介

    linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。

    我的环境配置

    Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC

    方法二 (使用第三方工具linuxdeployqt)

    参考【fengMisaka】的博文:在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园

    一、安装linuxdeployqt

    1.去github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件;

    cee3f41f87615f0fb2780bab53b18c2c.png
    下载linuxdeployqt
    GitHub地址:https://github.com/probonopd/linuxdeployqt/releases

    2.下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/;然后命令行输入 linuxdelpoyqt –version,查看是否安装成功,若输出版本信息表示安装成功。

    $ chmod +x linuxdeployqt-x86_64.AppImage
    $ mv linuxdeployqt-x86_64.AppImage linuxdeployqt
    $ mv linuxdeployqt /usr/local/bin
    $ linuxdelpoyqt --version
    #输出的版本信息
    linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC

    c71cfdc1eb2f6958da5434128823118c.png
    复制到 /usr/local/bin/

    e386139c4b93979b9c6bdb8fcb95c570.png
    输出版本信息

    二、配置Qt的环境变量

    1.终端输入vi ~/.bashrc 命令, 修改 .bashrc 文件,在文件末尾追加以下内容,其中/home/Qt5.12.6是我Qt的安装路径,大家要用自己的路径代替;

    #add QT ENV
    export PATH=/home/Qt5.12.6/5.12.6/gcc_64/bin:$PATH
    export LD_LIBRARY_PATH=/home/Qt5.12.6/5.12.6/gcc_64/lib:$LD_LIBRARY_PATH
    export QT_PLUGIN_PATH=/home/Qt5.12.6/5.12.6/gcc_64/plugins:$QT_PLUGIN_PATH
    export QML2_IMPORT_PATH=/home/Qt5.12.6/5.12.6/gcc_64/qml:$QML2_IMPORT_PATH

    2.最后要source一下,使~/.bashrc这个shall文件立即生效,而不必注销并重新登录。

    $ source ~/.bashrc

    三、打包应用程序

    1.将Qt项目用Release模式编译运行一遍,确保在shadow目录下生成可执行程序 serialport ;

    9197fe1fad45e29983c0ddc748bff286.png
    shadow目录

    2.创建一个文件夹,名称最好是用可执行文件的名称,然后将serialport可执行文件复制到此文件夹下;

    3.使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:

    $ linuxdeployqt serialport -appimage

    bda92b40bf626c32cbf4558046953c85.png
    出现提示信息

    4.执行上面命令出现提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件;到这一步,就把可执行文件的动态库等依赖文件都复制到该文件夹中了。

    四、编写linux桌面图标启动(可选步骤)

    修改qt目录下的desktop文件,可以按照ubuntu官方提示修改。https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles

    1.新建空白文档,添加以下内容,然后重命名为 serialport.desktop

    [Desktop Entry]
    Version=1.0      
    Name=serialport  
    Comment= this app use for zjy  
    Exec=/home/book/qt5.12/serialComm/SerialPort-linuxdeployqt/serialport  
    Icon=/home/book/Pictures/icon.png    
    Terminal=false
    Type=Application
    Categories=Utility;Application;

    eae57dfd64fee21692c3dd494d1ffb10.png
    serialport.desktop文件

    2.复制serialport.desktop文件

    #-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications
    #-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可
    $ sudo cp serialport.desktop  /usr/share/applications   #复制文件

    3.到 /usr/share/applications 寻找 serialport.desktop,图标并没有正确显示,但是双击是可以运行的;

    086c7023870172267dcc1bb0b0c3090e.png
    图标不正确,但双击可运行

    五、编写开机脚本 runApp.sh

    1. 创建 runApp.sh
    $ vi runApp.sh

    2. 写入以下内容

    #!/bin/bash
    export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH
    export QT_PLUGIN_PATH=/app/plugins:$QT_PLUGIN_PATH
    export QML2_IMPORT_PATH=/app/qml:$QML2_IMPORT_PATH
    ./serialport

    3. 再给运行开机脚本runApp.sh添加可执行权限;

    $ chmod +x runApp.sh
    此时运行开机脚本,则可启动程序。其实到这一步就可以发布了,压缩成一个压缩包发布即可,可如果想继续打包成deb包,可以看下一步。

    六、打包成deb包

    未完待续~

    参考资料

    1. 【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】 - 一夜孤舟入江南 - 博客园
    2. 在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园 (我用这个成功了!)
    3. https://blog.csdn.net/xiezhongyuan07/article/details/80272824 启动界面
    4. https://blog.csdn.net/u014746838/article/details/80952972
    5. Qt实现炫酷启动图-动态进度条 - 朝十晚八 - 博客园
    6. https://blog.csdn.net/weixin_39568531/article/details/79255306
    7. https://blog.csdn.net/u010002704/article/details/39060695
    8. https://blog.csdn.net/qq_28643619/article/details/86679610 Qt快捷键
    展开全文
  • 前言记录在Linux/Ubuntu下,Qt程序的打包发布,写于20191210我的环境配置Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC方法一 (不使用第三方工具)参考【一夜孤舟入江南】的博文:......

    a2624b77b99fbd53b3dce69d87b99d17.png

    前言

    记录在Linux/Ubuntu下,Qt程序的打包发布,写于20191210

    我的环境配置

    Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC

    方法一 (不使用第三方工具)

    参考【一夜孤舟入江南】的博文:https://www.cnblogs.com/13373-/p/11467102.html

    1.找个位置新建空文件夹SerialPort,存放打包后的文件;

    2.将Qt项目用Release模式编译运行一遍,确保在shadow目录下生成可执行程序 serialport ;

    cc6269579a4a190a42b3fd5b14ab8cf3.png
    shadow目录

    3.在shadow目录中新建脚本copylib.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

    4.在Terminal中,通过指令赋值权限 ;

    sudo chmod 777 copylib.sh

    5.在Terminal中,输入./copylib.sh serialport

    其中, giptables 是运行copylib.sh 脚本的参数,脚本实际上是调用了 ldd ocs指令获得ocs运行时需要哪些库,并将库都复制放到当前目录的lib文件夹中。

    6acf687f27cb5b2282613fe27877f1f1.png
    生成lib文件夹

    6.将① serialport 的可执行程序、② lib文件夹里面全部的文件 复制到 SerialPort文件夹中;

    7.将lib文件夹删除;

    8.进入Qt的安装目录,找到platforms目录;

    49a511f7ca6d14d8a8a9410962103bfb.png
    platforms目录位置
    我的路径是:/home/book/Qt5.12.6/5.12.6/gcc_64/plugins/platforms
    PS: Terminal中输入pwd 是显示当前的绝对路径

    9.将第3步的copylib.sh放到platforms目录中,并运行 ./copylib.sh libqxcb.so,这时也会得到一个lib文件夹 、libqxcb.so的库文件;

    b964607e297567840086112cd91abd24.png
    lib文件夹 、libqxcb.so的库文件
    注:xcb是移植的重要文件,如果拷贝错误将不能在目标主机运行。

    10.将platforms整个文件夹拷贝到SerialPort,并删除原先文件夹中的libxcb.so库文件夹;

    4418872198685fc84074306c00009480.png
    拷贝platforms
    疑问1:这里的原先文件夹是指Qt安装目录下的那个platforms文件夹吗?
    疑问2:要删除的是 libxcb.so 文件吗?还是说作者本来想打的是 libqxcb.so 呢?

    0be9cf439caf675bf438820b6f554b65.png
    要删除这两个 libxcb 文件吗?

    11.将拷贝后的库文件夹的东西全部放到SerialPort目录下。即将SerialPort/platforms/lib/* 拷贝到SerialPort下。并删除SerialPort/platforms/lib文件夹及其所属文件。

    12.在SerialPort文件夹中新建脚本serialport.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 "$@"

    05e82ad2d7120f5a633041c458d43c51.png
    新建脚本

    13.赋值赋值权限,chmod 777 serialport.sh ;

    14.到现在,可以将SerialPort文件夹拷贝到目标主机上运行了。在目标主机上运行程序是采用./serialport.sh运行,而不是直接点击serialport.

    参考资料

    1. 【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】 - 一夜孤舟入江南 - 博客园
    2. 在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园 (我用这个成功了!)
    3. https://blog.csdn.net/xiezhongyuan07/article/details/80272824 启动界面
    4. https://blog.csdn.net/u014746838/article/details/80952972
    5. Qt实现炫酷启动图-动态进度条 - 朝十晚八 - 博客园
    6. https://blog.csdn.net/weixin_39568531/article/details/79255306
    7. https://blog.csdn.net/u010002704/article/details/39060695
    8. https://blog.csdn.net/qq_28643619/article/details/86679610 Qt快捷键
    展开全文
  • linux——打包qt程序

    2019-11-20 23:30:55
    首先linux打包qt程序需要两个集成工具包,分别是linuxdeployqt-5-x86_64.Appimage和appimagetool-x86_64.Appimage。 设置环境 下载好的linuxdeployqt-5-x86_64.Appimage是一个release版的执行文件,我们直接把它放...
  • 打包工具 linuxdeployqt下载地址:下载链接: https://pan.baidu.com/s/1_PwD799jdgfX8g7Y-BhrQw 提取码: ugkv安装 linuxdelpoyqt$ mv linuxdeployqt-x86_64.AppImage linuxdeployqt$ mv ./linuxdeployqt /usr/local/...
  • QtLinux、Windows端打包发布的讲解,主要讲述:Windows端的打包,使用Qt自带的windeployqt工具处理,然后再用Enigma Virtual Box软件简化打包,只需要拷贝一个exe文件至其他电脑运行,运行成功!
  • LinuxQT程序打包

    2020-10-20 14:42:37
    windows下打包Qt程序有对应的工具windeploy,linux没有自带的,便自己找。 ldd命令用于判断某个可执行的 binary 档案含有什么动态函式库。 2 步骤 2.1 Release版本 QtCreate使用Release版本编译 2.2 建文件夹并拷贝...
  • LinuxQT程序打包

    2019-08-13 09:05:16
    本次,笔者采用linuxqt+appimage 进行打包,这样的好处不言而喻,打包后生成的是Image,这意味着对部署环境没有依赖,不需要安装配置库文件,只要打包没问题,在别的应用环境中是很好部署的。 一、环境搭建: 准备...
  • 前言记录在Linux/Ubuntu下,Qt程序的打包发布,写于20191210我的环境配置Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC方法一 (不使用第三方工具)参考【一夜孤舟入江南】的博文:......
  • LinuxQT程序打包

    2020-09-05 15:22:31
    工具:patchelf cmake linuxdeploy 安装patchelf软件 sudo apt install patchelf 安装cmake软件 sudo apt install cmake 编译QT的环境变量,把环境变量写入~/.bashrc中,然后执行source命令,让其立即生效不...
  • linuxdeployqt简介linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。我的环境配置Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC方法二 (使用第三...
  • Linux打包QT程序成安装包

    千次阅读 2017-05-31 16:26:02
    QT自己的工具qt-installer-framework打包QT开发的程序 总体思路: 第一步:将需要的文件拷贝到目标文件夹. 第二步:用QT installer framework 打包  具体步骤:  第一步: qt-installer-framework ...
  • QT打包基于平台的不同有两种方式:1.基于第三方工具:linuxdeployqt (官网下载的可执行程序仅支持x86_64架构,其他架构需自行下载源码编译方可运行)2.基于shell脚本方式拷贝相应依赖文件 (推荐非x86_64的一些国产系统...
  • linux下对开发的Qt应用,进行拷贝依赖文件dll等,并打成deb安装包; 实现可安装、卸载,安装完毕自动在开始菜单下和桌面添加快捷方式; 卸载后自动删除快捷方式,以及删除应用生成的log文件。 测试环境:ubuntu ...
  • 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明...2. 打包成二进制文件,附带运行库的形式:- windows下,有很多工具...
  • 怎么在linux打包免安装的QT程序。

    千次阅读 2017-10-22 21:42:41
    近期,因为项目的需求,得打包QT程序,并将程序放到没有安装QT库的电脑上运行。... ==linux下,需要靠脚本协助,很多教程都不完整,运行库基本是so文件这里演示在linu文件下打包免安装的程序,程序
  • 理论上来说,每一个程序都有自己的运行环境;所以,当程序完成后进行发布,应该...Linux属于命令行系统,打包工具显然不是必须的;但相应的程序是可以制作的。 提供的参考程序如下: #!/bin/sh src="程序名" ...
  • 参考 https://zhuanlan.zhihu.com/p/96696862
  • 因为当时学习Qt的时候就只学了在windows上发布程序,虽然一直想尝试在linux系统上发布,但碍于必要的系统需求和...原本以为只有windows只有windeployqt工具,没想到linux也有类似的打包工具。容错率高且简单直接粗暴。
  • linux下使用AppImage打包qt程序 下载工具 1.1 linuxdeployqt 下载地址:https://github.com/probonopd/linuxdeployqt/releases 1.2 patchelf 下载地址:...
  • 默认前提:Linux已经安装了QT Creater并且你的界面程序已经编好并可以执行。但是未打包发布。 安装linuxdeployqt (本地编译安装) //环境准备 sudo apt-get -y install git g++ libgl1-mesa-dev //下载 git clone ...
  • Linux 下如何打包免安装的QT程序# 近期学习qt,做好的程序需要打包,离开qt环境运行,在网上找到很多大佬的教程,感觉有些操作有困难,总结一下流程 主要分为以下几种: 打包成安装包形式; 打包成二进制文件,...
  • Linux 下如何打包免安装的QT程序?

    万次阅读 多人点赞 2017-03-22 17:12:03
    如题,近期因为项目需求,得打包QT程序,并将程序放到没有安装QT库的电脑上运行。网上索罗了下,打包QT程序的方式很多,主要分为以下几种: 1. 打包成安装包形式; 2. 打包成二进制文件,附带运行库的形式: - ...
  • 打包工具 1.linuxdeployqt 下载地址:https://github.com/probonopd/linuxdeployqt/releases 2.patchelf 下载地址:https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz 二 配置linuxdeployqt...
  • 打包工具 1.linuxdeployqt 下载地址:https://github.com/probonopd/linuxdeployqt/releases 2.patchelf 下载地址:https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz 二 配置...

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

linuxqt打包工具

linux 订阅