文档章节

Qt5.8 linux程序打包发布

shzwork
 shzwork
发布于 09/18 22:09
字数 391
阅读 26
收藏 2

转自:http://blog.csdn.net/hjl_1991/article/details/50365927
为便于描述,我们这里假设生成的程序名称为test(即要发布的程序名称)

1. QtCreate使用Release版本编译

将编译后生成的可执行程序(如:test)复制到一个空目录下

2.使用ldd命令查看和导出需要的库

在步骤1的目录下新建一个pack.sh文件,文件内容如下:

#!/bin/sh  
exe="test" #你需要发布的程序名称
des="/home/someone/QtProject/build-test-Desktop-Release/Test" #步骤1中的目录即本文件所在目录
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des
  • 1
  • 2
  • 3
  • 4
  • 5

文件中有两处中文注释的地方需要修改

3.编写执行程序的sh文件

在此目录下再新建一个test.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 "$@"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.执行程序

赋予test.sh执行权限

chmod +x test.sh
  • 1

执行程序

./test.sh
  • 1

将此目录打包发布即可,注意需要执行程序时是运行test.sh文件,不是release生成的可执行程序

本文转载自:https://blog.csdn.net/why19940926/article/details/76165763

shzwork
粉丝 15
博文 817
码字总数 10675
作品 0
厦门
私信 提问
Qt 5.6.2 发布, C++跨平台界面库

Qt 5.6.2 发布了。Qt 是开源跨平台C++语言界面框架库,一套代码,多平台编译:linux、macOS、windows、iOS以及android。 此次更新内容如下: Qt5.6.2主要是对前一个版本的补丁,包括900多处,...

lieefu
2016/10/13
5.9K
13
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
magicErmine 4.1.0 发布

magicErmine 4.1.0 发布,改进包括:newfstatat/fstatat64 系统调用遵循 AT_SYMLINK_NOFOLLOW 标识,修复了打包脚本无法执行的问题;修复了 Qt 5.x 应用打包问题。 magicErmine 允许同一个 ...

oschina
2014/06/04
213
1
跨发行版应用打包格式 Flatpak 发布

GNOME 项目组的 Allan Day 正式发布了 Flatpak,这并不是我们第一次提及 Flatpak,你可能已经知道它是一个无依赖关系的、跨发行版的软件打包框架,它可以让用户在多个基于 Linux 内核的操作系...

linuxprobe
2016/07/03
1
0
红帽为企业Linux和OpenShift增加Docker支持

红帽和Docker.io今天宣布扩大双方的合作,将Docker容器技术引入最新的测试版红帽企业Linux 7和PaaS 云计算应用平台OpenShift。 大约一年前,第一版Docker发布。在短短的时间里,它迅速在那些...

oschina
2014/04/17
3.5K
6

没有更多内容

加载失败,请刷新页面

加载更多

springboot 403 问题

添加WebAppConfigurer 配置 @Configuration@EnableAutoConfigurationpublic class WebAppConfigurer extends WebMvcConfigurerAdapter { public WebAppConfigurer() { } ......

布袋和尚_爱吃鱼
11分钟前
2
0
Python自动更换壁纸爬虫与tkinter结合

直接上代码 import ctypesimport timeimport requestsimport osfrom threading import Threadfrom tkinter import Tk, Label, Button,Entry,StringVar,messagebox# '放到AppData\Roami......

物种起源-达尔文
11分钟前
1
0
Postgresql Study 笔记

Postgresql 安装 Windows, MAC Install Postgresql 下载地址: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads Linux Install sudo apt-get update sudo apt-get in......

slagga
13分钟前
2
0
layer.open 打开新页面传参问题

如图所示,点击出售,把A页面的数据传到弹框上面,因为弹框比较复杂,所以使用引入一个新页面。 A.html a.js B.html b.js 1、第一种方案 sellInte: function (){ var obj = document.g...

木九天
16分钟前
2
0
沙龙报名 | 区块链数据服务技术应用实践

京东云是国内首家提供区块链数据在线分析服务产品的公司,也是行业内首家对区块链数据服务进行开源的公司。 本次沙龙是京东云BDS开源后,首次在深圳举办线下沙龙,我们将邀请京东云BDS团队核...

京东云技术新知
17分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部