• 麒麟系统上使用linuxdeployqt 编译安装


    linuxdeployqt 去除git校验可以编译处理

    银河麒麟V4,V10,本篇以V10记录,参照上一篇可安装V4、V7、V10三个版本,麒麟V4系自带了Qt,麒麟V10没有自带Qt,需要自己编译搭建环境。

    因为有git的链接导致虚拟机内存经常爆了。所以处理这个git:

    linuxdeployqt编译(麒麟系统,ubuntu)

    步骤一:下载解压

    1. gitcode地址:https://gitcode.net/mirrors/probonopd/linuxdeployqt
    2. CSDN下载地址:https://download.csdn.net/download/qq_42095701/87484826 编译正常

    步骤二:修改源码,去掉版本检查

      找到main.cpp源码,将这一段(在192行左右)注释掉:

    gedit tools/linuxdeployqt/main.cpp

    这一步不做会导致打包输出错误信息

    步骤三:安装依赖第三方库

    1. sudo apt-get install cmake
    2. sudo apt-get install patchelf

    步骤四:使用cmake配置

    cmake CMakeList.txt

    安装了git所以会报错所以吧 CMakeList.txt 里面的删掉

    只留下

    步骤五:配置Qt的依赖环境

      麒麟系统本身自带了qt5,而我们使用了另外安装的qt5,所以依赖需要引入我们自己安装的qt5上。   为了方便配置,也不影响系统我们装上cmake的gui版本:

    sudo apt-get install cmake-gui

    直接双击 CMakeCache.txt 会调用cmake

     

    步骤七:编译make

      切入build目录,并且使用make命令即可:

    make

    步骤八:安装到系统目录

    • 编译完成后,在目录 tools/linuxdeployqt/linuxdeployqt 下会生成一个可执行文件 linuxdeployqt,修改其权限:
    1. cd ./tools/linuxdeployqt
    2. sudo chmod a+x linuxdeployqt

      没有make install这个,手动移动到/usr/local/bin

    sudo mv linuxdeployqt /usr/local/bin/
    • 为了方便之后使用,可以将该可执行文件复制到 /usr/local/bin 目录下:
    sudo cp linuxdeployqt /usr/local/bin/

    步骤九:测试是否编译成功

    linuxdeployqt --version 出现版本就是成功

    步骤十:拷贝需要系统的QT版本库更改系统文件

    1.export PATH=$PATH:/home/hdgx/Qt5.12.1/5.12.1/gcc_64/bin

      这里要将Qt引入环境,为了不影响系统,使用脚本引入,每次使用之前使用source env.sh引入即可。

    1. #!/bin/sh QT_DIR=/home/hdgx/Qt5.12.1/5.12.1/gcc_64
    2. export PATH=${QT_DIR}/bin:$PATH
    3. export LIB_PATH=${QT_DIR}/lib:$LIB_PATH
    4. export PLUGIN_PATH=${QT_DIR}/plugins:$PLUGIN_PATH
    5. export QML2_PATH=${QT_DIR}/qml:$QML2_PATH
    6. export LD_LIBRARY_PATH=${QT_DIR}/lib:$LD_LIBRARY_PATH
    7. echo $PATH
    8. echo $LIB_PATH
    9. echo $PLUGIN_PATH
    10. echo $QML2_PATH echo $LD_LIBRARY_PATH

    • linuxdeployqt命令可能要用到选项 -appImage(实际上我就用到了),因此需要安装一下 appimagetool,下载和安装命令如下:
    1. sudo wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool
    2. sudo chmod a+x /usr/local/bin/appimagetool
    1. 打包Qt项目
    2. 在Qt中打开需要打包的Qt项目,选择 release 编译。在项目文件夹下会出现一个 appname_***_release*** 的文件夹,将该文件夹中的 appname 的编译好的文件拷贝到一个单独的文件夹中,这个文件夹也可以命名为 appname。注意:appname为项目的名字,需要根据自己的项目名做修改。
    3. 然后执行命令:
    4. linuxdeployqt appname -appimage
    5. 1
    6. 接下来就是等待了,等待打包完成。完成后在文件夹中会出现一个 appname_***.AppImage的可执行文件,这个可执行文件就是我们需要的文件了。
    7. 在执行这条命令时可能会报如下错误:
    8. Categories entry not found in desktop file
    9. .desktop file is missing a Categories= key
    10. 说的是在.desktop文件中少了一个属性Categories,所以我们需要在desktop文件中手动加入一行:
    11. Categories=Application;
    12. 再次执行 linuxdeployqt 命令即可。

  • 相关阅读:
    【Redis场景5】集群秒杀优化-分布式锁
    c++屏蔽qq或者wechat的好友对局域网环境下的指定关键字
    【Designing ML Systems】第 6 章 :模型开发和离线评估
    使用Pytorch构建神经网络
    进程的环境变量
    一对一语音直播系统源码——如何解决音视频直播技术难点
    Enscape 4.1.0 软件安装教程+离线资源库
    编程-设计模式 11:享元模式
    【servelt原理_9_servlet应用___】
    将时间序列转成图像——马尔可夫转移场方法 Matlab实现
  • 原文地址:https://blog.csdn.net/qq_42095701/article/details/128003376