版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/u014746574/article/details/79288727

linux qt 程序打包发布

1.linuxdeployqt 安装

最简单的方法直接下载编译好的 linuxdeployqt-x86_64.AppImage文件,将其改名字为linuxdeployqt,并chmod a+x,然后复制到 /usr/local/bin/。然后命令行输入 linuxdelpoyqt –version,输出linuxdeployqt 版本就安装成功。

linuxdeployqt-x86_64.AppImage 下载地址,https://github.com/probonopd/linuxdeployqt/releases

点击linuxdeployqt-x86_64.AppImage右键下载即可。

$ mv linuxdeployqt-x86_64.AppImage linuxdeployqt

$ mv ./linuxdeployqt /usr/local/bin

$ linuxdelpoyqt --version

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

1

2

3

4

2.打包自己的程序

将自己的qt程序(如myQtApp)复制到一个目录(如 qtTest),运行

1

$ linuxdeployqt ./myQtApp -appimage

1

3.在ubuntu 中添加qt 应用程序图标

修改qt 目录下的desktop 文件。可以按照ubuntu 官方提示修改。

ubuntu desktop文件使用

#-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications

#-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可

#--appName.desktop

[Desktop Entry]

Version=1.0 #app的版本

Name=myQtApp #app的名字

Comment= this app use for xxx #说明信息

Exec=/path/to/your/QtApp/myQtApp #app的执行路径,绝对路径

Icon=/path/to/your/app_icon/myQtApp.png #icon 路径,绝对路径

Terminal=false #是否在终端启动,效果自己试一下就知道了

Type=Application

Categories=Utility;Application;

1

2

3

4

5

6

7

8

9

10

11

12

4、关于qt.conf

这个文件指定了qt 程序的运行环境。

引用qt说明的原话:

The qt.conf file can be used to override the hard-coded paths that are compiled into the Qt library. These paths are accessible using the QLibraryInfo class. Without qt.conf, the functions in QLibraryInfo return these hard-coded paths; otherwise they return the paths as specified in qt.conf.

即我们可以使用qt.conf 指定qt程序的运行路径和库路径。

The file should have a Paths group which contains the entries that correspond to each value of the QLibraryInfo::LibraryLocation enum. See the QLibraryInfo documentation for details on the meaning of the various locations.

这个文件应该要包含QLibraryInfo::LibraryLocation enum,如以下内容

Entry    Default Value

Prefix    程序运行的路径,一下所有的路劲都是相对于这个路径

Libraries    程序的库库路劲,linuxdeployqt会自动再这个目录生成./lib,并将需要的库拷贝过来

…    …

主要有这几个,多余的可以上qt帮助文档

# Generated by linuxdeployqt

# https://github.com/probonopd/linuxdeployqt/

[Paths]

Prefix = ./         #程序的运行路劲

Libraries =  ./lib  #程序的库路径

Plugins = ./plugins #插件路径

1

2

3

4

5

6

参考:http://doc.qt.io/qt-5/qt-conf.html

5.补充

虽然linuxdepoyqt可以帮我们解决多数情况下库的依赖问题,但是也有的时候不能完整解决。这个时候就需要我们自己复制所依赖的库。

提供一个脚本,复制依赖库,复制以下代码,将其保存成为 copylib.sh

#!/bin/sh

bin=$1         #发布的程序名称

desDir="./lib" #你的路径

if [ ! -d $desDir ];then

#echo "makedir $desDir"

mkdir $desDir

fi

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

cp $libList $desDir

1

2

3

4

5

6

7

8

9

10

11

命令行 运行

chmod a+x ./copylib.sh

./copylib.sh ./myapp

1

2

就可以复制所需要的库到当前目录下的 ./lib 文件夹中

通常情况下,结合linuxdelpoy 和 copylib.sh 可以解决Linux 下 qt 程序的库依赖问题

————————————————

版权声明:本文为CSDN博主「zhangjun0703」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u014746574/article/details/79288727

qt调用linux 进程,Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)相关推荐

  1. Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

    Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本) 转载于:https://www.cnblogs.com/zhehan54/p/9549017.html

  2. linux 安装rpm qt can't creat,centos 下 Qt Creator 的安装使用

    centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...

  3. 如何在Linux桌面环境下自动启动程序?

    2019独角兽企业重金招聘Python工程师标准>>> 如何在Linux桌面环境下自动启动程序? 2014-01-06 11:24 布加迪编译 51CTO.com 字号:T | T ...

  4. Qt程序打包发布方法(使用官方提供的windeployqt工具)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...

  5. 自动打包linux,Linux环境下Springboot自动打包发布功能

    实现核心功能:完成Linux环境下Springboot自动打包发布功能 详细功能: 自动更新Svn最新代码 删除原有打包文件 自动打包 将打包之后的项目文件复制到其他服务器 关闭本地项目进程 重新启动 ...

  6. 学习笔记:Qt程序打包发布

    目录 前言 步骤 前言 使用qt开发自动化测试软件,一般是先在自己的办公电脑上写,后续再发给测试机运行,需要使用Qt程序打包生成exe程序.有两种方法:"Qt Widgets Applica ...

  7. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布

    Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...

  8. Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...

  9. QT的程序打包发布(将QT5的工程项目打包成一个可直接运行的exe程序)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:https://blog.csdn.net/lxj434368832/article/details/80814388 Qt 官 ...

最新文章

  1. 快速下载 | TBtools 软件最新版本与相关数据库文件
  2. 【从零学习openCV】IOS7下的人脸检測
  3. 函数或变量 rtenslearn_c 无法识别_Stata:过度识别检验一文读懂
  4. 利用fstream进行文件拷贝测试
  5. gradle下载及配置
  6. 城市交通路网(信息学奥赛一本通-T1261)
  7. spring boot项目怎么记录用户操作行为和登录时间_6 个 Github 项目拿下 Spring Boot
  8. Visual C++开发工具与调试技巧整理
  9. php 监听条码枪输入,一起看看js获取扫码枪输入数据的方法
  10. linux系统安装coerplayer,安装deepin~
  11. day01 继承、抽象类和模板设计模式
  12. TapTap实习三个月总结
  13. 内连接、左外连接与右外连接的区别及作用介绍
  14. 计算机启动黑屏时间很长,win7开机黑屏时间长怎么办?win7开机黑屏很久解决办法...
  15. 微型技术博客之匿名内部类
  16. CSDN 修改名字昵称以及ID 修改博客标题 - 告别自动生成的 id (亲测有效!)
  17. oracle学习入门系列之五内存结构、数据库结构、进程
  18. StarCraft II Learning Environment
  19. 5-8 SpringBoot拦截器的使用
  20. c语言把结构体首地址放入指针,C语言基础———指针,结构体指针,函数指针

热门文章

  1. CSW:BCE里的大多数东西都归结于经济学,而不是计算机科学
  2. 函数计算新功能-----支持C#函数
  3. Linux之SSH性能调优,防止连接等待时间过长,连接速度飞起
  4. 细述vim编码格式配置
  5. linux shell 基础 使用日志与心得
  6. 【模式识别】学习笔记(3)【Fisher线性判别】
  7. (转载)浅析HTTP协议
  8. 在koa中想要优雅的发送响应?看这就对了
  9. 为什么要选择Apache Pulsar(一)
  10. Oracle 10g R2 RAC手动打补丁PSU(10.2.0.5.19)