• Deepin(UOS使用linuxdeployqt打包qt程序【自测ok】


    一、编译linuxdeployqt
    默认你已经安装好Qt creator
    linuxdeployqt下载地址


    下载上图中的任意一个代码,解压(以tar.gz为例子)

    tar -zxvf xxx.tar.gz
    1
    进入linuxdeployqt文件夹

    cd linuxdeployqt
    1
    修改tools/linuxdeployqt/main.cpp,注释掉判断版本的代码

    vim tools/linuxdeployqt/main.cpp
    1
    需要注释的代码如下


    /*if (strverscmp (glcv, "2.27") >= 0) {
    qInfo() << "ERROR: The host system is too new.";
    qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";
    qInfo() << "currently still-supported mainstream distribution (xenial), which is glibc 2.23.";
    qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";
    qInfo() << "For more information, please see";
    qInfo() << "https://github.com/probonopd/linuxdeployqt/issues/340";
    return 1;
    }*/

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    安装依赖:

    sudo apt-get -y install g++ libgl1-mesa-dev
    1
    使用Qt Creator打开linuxdeployqt下的linuxdeployqt.pro文件,修改编译模式为release,点击左下角小锤子图标,等待编译完成。

    在生成的文件夹的bin目录下会生成linuxdeployqt文件,为了方便使用,将其复制到/uer/bin中

    sudo cp linuxdeployqt /usr/bin
    1
    配置Qt环境

    vim ~/.bashrc
    1
    在文件末尾添加,home/Qt5.14.2/5.14.2替换成自己的qt安装路径

    export PATH=/home/Qt5.14.2/5.14.2/gcc_64/bin:$PATH
    export LD_LIBRARY_PATH=/home/Qt5.14.2/5.14.2/gcc_64/lib:$LD_LIBRARY_PATH
    export QT_PLUGIN_PATH=/home/Qt5.14.2/5.14.2/gcc_64/plugins:$QT_PLUGIN_PATH
    export QML2_IMPORT_PATH=/home/Qt5.14.2/5.14.2/gcc_64/qml:$QML2_IMPORT_PATH

    1
    2
    3
    4
    5
    修改系统qt环境

    cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
    sudo vi default.conf
    1
    2
    修改为自己的qt安装路径

    /home/Qt5.14.2/5.14.2/gcc_64/bin
    /home/Qt5.14.2/5.14.2
    1
    2
    官方编译文档

    二、打包
    使用Qt Creator编译release版本,新建一个文件夹(app),将生成的可执行文件复制到新建的文件夹下,进入文件夹(cd app),执行

    linuxdeployqt xxx -appimage //xxx为编译生成的可执行文件
    1
    若如下图所示的两个错误不用管,这是生成图标失败,可自行百度ubuntu创建桌面图标解决


    打包完成后如下图所示,执行./AppRun即可执行程序


    参考
    ————————————————
    版权声明:本文为CSDN博主「十里春风_jzh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_43435307/article/details/118184742

  • 相关阅读:
    systemctl命令
    linux下常用命令查看端口占用
    【PostgreSQL】存取jsonb
    tomcat内存溢出之PermGen space
    Spring事务传播机制
    java框架篇---spring aop两种配置方式
    Hibernate一对多实例
    Github 的系统内部都在用什么开源软件?
    这是一个关于软件开发的博客。
    JavaScript中数组的集合和映射
  • 原文地址:https://www.cnblogs.com/chinasoft/p/16037468.html
Copyright © 2020-2023  润新知