文档章节

centos7 linuxdeployqt qt5.13.1 打包程序

shzwork
 shzwork
发布于 09/18 23:32
字数 567
阅读 20
收藏 0

原文链接:https://www.cnblogs.com/linuxAndMcu/p/11016322.html

一、简介

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

二、下载linuxdeployqt

官方网址:https://github.com/probonopd/linuxdeployqt/releases

按箭头点击,下载第一个。

在保存它的文件夹下右键调出终端,用管理员模式运行下面命令

 
  1. chmod +x linuxdeployqt-x86_64.AppImage

  2. mv linuxdeployqt-x86_64.AppImage linuxdeployqt

  3. #先运行下linuxdelpoyqt,否则会出现 “段错误” 或者 “无此命令” 错误

  4. ./linuxdeployqt

  5. mv linuxdeployqt /usr/local/bin

  6. linuxdeployqt -version

三、配置 qt 的环境变量

修改环境变量,能够找到 qmake,可以修改 /etc/profile 也可以修改. bashrc 文件,这里修改. bashrc。终端输入 vim ~/.bashrc 命令,修改 .bashrc 文件,在文件末尾追加以下内容,其中 /home/admin/Qt/5.13.1 是我的Qt安装路径,大家要用自己的路径代替:

 
  1. #add QT ENV

  2. export PATH=/home/admin/Qt/5.13.1/gcc_64/bin:$PATH

  3. export LD_LIBRARY_PATH=/home/admin/Qt/5.13.1/gcc_64/lib:$LD_LIBRARY_PATH

  4. export QT_PLUGIN_PATH=/home/admin/Qt/5.13.1/gcc_64/plugins:$QT_PLUGIN_PATH

  5. export QML2_IMPORT_PATH=/home/admin/Qt/5.13.1/gcc_64/qml:$QML2_IMPORT_PATH

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

source ~/.bashrc

四、打包应用程序

(1)运行Qt生成release版本的可执行文件;
(2)创建一个文件夹,名称最好是用可执行文件的名称,然后将可执行文件复制到此文件夹下;

(3)将需要的各种外部so复制到这个文件夹下;
(4)使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:

linuxdeployqt 可执行文件名 -appimage

慢慢等待

五、编写启动脚本 runApp.sh

执行以下命令,创建runApp.sh:

vim runApp.sh

写入以下内容

 
  1. #!/bin/bash

  2. export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH

  3. export QT_PLUGIN_PATH=/app/plugins:$QT_PLUGIN_PATH

  4. export QML2_IMPORT_PATH=/app/qml:$QML2_IMPORT_PATH

  5. ./你程序的名字

再给runApp.sh添加可执行权限:

chmod +x runApp.sh

用终端运行此sh即可打开程序:

./runApp.sh

 

本文转载自:https://blog.csdn.net/hu626626/article/details/100918455

shzwork
粉丝 15
博文 817
码字总数 10675
作品 0
厦门
私信 提问
linux Qt程序打包(linuxdeployqt工具的使用)

linux Qt程序打包(linuxdeployqt工具的使用) 官方提供的最新版本基于Qt5.8的,用户可根据需要从源码编译成本机版本来使用,具体操作过程如下: 工具 1.linuxdeployqt 依赖工具: patchelf(必须...

shzwork
09/18
12
0
超详细Linux下QT使用appimage打包程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/kuer1379/article/details/82885810 一 打包工具 1.linuxd...

shzwork
09/18
35
0
linux-ubuntu下使用linuxdeployqt+appimagetool将qt程序打包成xxx.AppImage文件

下文中提及的inuxdeployqt patchelf appimagetool工具及示例下载地址: 链接: https://pan.baidu.com/s/1BGm_btMIe75uW9hOC09Xlg 提取码: 7ayh 需要创建目录及文件 xxx.AppDir xxx.AppDir/Ap...

shzwork
09/18
18
0
在Linux下使用linuxdeployqt发布Qt程序

目录 一、简介 二、安装linuxdeployqt 三、配置 qt 的环境变量 四、打包应用程序 五、编写linux桌面图标启动(可选步骤) 六、编写开机脚本 runApp.sh 七、打包成deb包 八、扩展 回到顶部 一...

shzwork
09/19
38
0
Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u014746574/article/details/79288727 linux qt 程序打包发...

shzwork
09/18
13
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
29分钟前
6
0
JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面, P页面有两个子页面,分别为B页面和C页面; B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面 现在通过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容...

文文1
30分钟前
7
0
Hibernate 5 升级后 getProperties 错误

升级到 Hibernate 5 后,提示有错误: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map; 完整的错误栈为: java.lang.NoSuchMethodError: org.hibernate......

honeymoose
31分钟前
6
0
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
34分钟前
7
0
Spring中BeanFactory与FactoryBean的区别

在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混。 一、BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定...

大王叫下
37分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部