【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境
参考博客
https://blog.csdn.net/theArcticOcean/article/details/68069964
https://blog.csdn.net/hjl_1991/article/details/50365927
亲测过程
1、编译处release版本的Qt程序
2、创建打包文件夹
mkdir release
3、进入文件夹,将要打包的程序拷贝到文件中
cd release
cp 编译处程序的全路径 .
4、创建执行脚本ldd.sh(本质是使用ldd命令,查看程序链接的库,然后拷贝到打包文件夹中)
记得修改权限 chmod +x ldd.sh
#! /bin/bash
EXE='desktopwidget' #我的程序名
PWD=`pwd` #打包的路径
files=`ldd $EXE | awk '{ if(match($3,"^/"))printf("%s "),$3 }'`
cp $files $PWD
5、运行时的脚本(本质是配置环境变量LD_LIBRARY_PATH)
运行脚本命名为:程序名+.sh;如desktopwidget.sh
记得修改权限 chmod +x desktopwidget.sh
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,` #获取\和.sh之间的字符串dirname=`dirname $0`
tmp="${dirname#?}" #绝对路径
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@" #"$@" 脚本参数
【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境相关推荐
- 如何在Ubuntu上运行.Net5控制台程序
如何在Ubuntu上运行.Net5控制台程序 微软.net core已经发布到.Net5了,跨平台一直没有尝试过,闲来无事在Linux上跑一下控制台试试.Ubuntu就不介绍了,首先要在linux上装 ...
- 如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于Matlab R2015b版 )
如何将MATLAB程序发布为独立的不依赖MATLAB环境可执行的程序包(基于MatlabR2015b版) 关键字:MatlabR2015b,可独立运行,可脱离Matlab环境,m文件,Matlab程序 ...
- 应用程序没有个图标怎么行? Qt图标美化及打包发布
大家好,我是程序员小哈. 我们编写了好几个Qt的程序了,每个程序都没有图标,看起来丑丑的. 而且我们编写好的程序,直接将exe拷给别人,在别人的电脑中,根本无法直接运行,辛辛苦苦编写的程序,别人用不了 ...
- Linux Qt打包发布应用程序
1.新建脚本文件pack.sh SensorMaster.sh (1)pack.sh #!/bin/sh exe="SensorMaster" #你需要发布的程序名称 des=&q ...
- 【QT】自定义软件打包发布
自定义软件打包发布 安装nisi和nisedit. 打开nisedit. 点击--文件--新建脚本:向导. 设置名称等信息,点击下一步. 选择安装图标--设置安装语言,点击下一步. 选择授权文件(Li ...
- Inno Setup 打包发布exe程序的步骤及注意事项及解决发布后的exe解压后文件都在主目录下导致程序无法正常运行的问题
目录 一.链接.exe文件的.dll动态链接库 1.1.可以利用QT官网提供的工具windeployqt 生成方式见如下: 1.2.使用脚本文件 二.使用绿色汉化版打包小程序inno setup5.5 ...
- 64位Ubuntu上编译32位程序
1.确认主机为64位架构的内核,应该输出为adm64,执行: $ dpkg --print-architecture 2.确认打开了多支架功能,应该输出为i386,执行: $ dpkg --print ...
- 【Python】Python代码在64位电脑上打包发布32位exe程序的一种方法(使用PyCharm)
1. 背景 现在的电脑大多都是64位的,开发者安装的 Python 也多是64位的,所以使用 pyinstaller打包出的exe也是64位的. 有时候用户的电脑是古老的windows7 32位系统, ...
- 使用Phar来打包发布PHP程序
简单来说,Phar就是把Java界的jar概念移植到了PHP界. Phar可以将一组PHP文件进行打包,还可以创建默认执行的stub(或者叫做 bootstrap loader),Phar可以选择是否 ...
最新文章
- Spring Cloud构建微服务架构(六)高可用服务注册中心
- android弹球动画,Android动画之自定义Evaluator实现弹球效果
- 一文带你了解Java Agent
- 应用软件使计算机的内存分配更合理,应用软件使计算机的内存分配更合理,运行更加稳定()...
- 论文拒稿的评价可以有多狠?
- oracle数据泵导入分区表,Oracle 10g 数据泵分区表的导出
- wire 和 reg_Wire和Launchkit开源,水流监控系统以及更多新闻
- 基于JAVA+SpringMVC+Mybatis+MYSQL的体育竞赛比赛赛事管理系统
- glide加载gif图不显示动画_关于glide加载gif问题
- eclipse 设置虚拟机内存(可用)
- TSC TTP-244 Pro标签打印机安装说明
- j2me 移植 android,J2me移植Android初步探索
- 供应链业务架构设计概览
- html表格中如何画单元格中对角线
- java使用cmd编译中文时错误,解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题...
- 抖音 K.O. 快手之后还能火多久?
- Java String、StringBuffer、StringBuilder类解析
- AD9361配置(1)
- 酷盘 文件服务器,酷盘网页登陆
- manjaro-i3wm 新装系统没有声音问题解决
热门文章
- 【机器学习入门】(3) 朴素贝叶斯算法:多项式、高斯、伯努利,实例应用(心脏病预测)附python完整代码及数据集
- php接收不到ajax请求参数,我是否需要在ajax请求和接收该请求的php之间编码/解码查询参数?...
- 大规模环境下基于语义直方图的多机器人实时全局定位图匹配
- Maya角色面部表情动画制作视频教程 Maya: Facial Rigging
- STL模拟实现1.0 -- list和iterator模拟实现和简单分析
- linux+Qt 下利用D-Bus进行进程间高效通信的三种方式
- CarTool 使用,获取图片资源
- 给GRUB添加新的项目
- iOS----------计算一段代码执行时间
- Linux日常命令记录