1.在Qt Creator中将需要打包的项目配置为Release模式,然后构建项目,在Release目录下生成可执行文件(例:myApp);

2.新建一个文件夹作为输出目录(例:output),将Release目录下的可执行文件myApp拷贝到输出目录output,并执行chmod +x myApp

3.打开终端,cd到输出目录output中,然后执行 ldd myApp 可以查看myApp依赖的所有库,然后将所有依赖的库拷贝至output文件夹下。这个操作比较繁琐,所以我们直接用脚本一次性拷贝,在output文件夹下新建cplib.sh,将以下内容粘贴至cplib.sh中:

#!/bin/sh  exe="myApp"         #修改发布程序的名称
des="/home/output/" #修改输出可执行文件路径deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des 

4.在终端执行chmod +x cplib.sh,然后执行 ./cplib.sh,此时所有依赖的库均被拷贝至output文件夹下。

5.在output文件夹下新建myApp.sh文件,注意这里文件名一定是(可执行文件名 + .sh),将以下内容拷贝至myApp.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 "$@" 

 6.执行chmod +x myApp.sh,软件至此打包完成。注意:运行软件的时候,执行的是 ./ myApp.sh, 而不是直接运行myApp。

 7.将输出文件夹拷贝至目标平台上会丢失执行权限,可以执行chmod +x myApp和chmod +x myApp.sh,然后执行./myApp.sh即可运行软件。

Ubuntu下Qt软件打包流程相关推荐

  1. Ubuntu 下qt 程序打包方法<绿色包非安装包>。

    1.编译出release执行文件,单独放到一个文件夹下.比如 demo文件夹 2.在demo文件夹下新建 pack.sh文件.输入如下内容 #!/bin/sh exe="demo" ...

  2. linux下qt多个程序打包,解决Ubuntu下使用linuxdeployqt打包Qt程序问题

    写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打 ...

  3. Windows下Qt程序打包

    Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1.打开命令行 2.执行打包命令 windeployqt ...

  4. QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64)

    QT学习笔记(三):Qt软件打包发布(QT5.8 _msvc2013_64+Win10_64) 1.编译方式介绍: 2.动态编译方式打包发布QT程序: 方法一:手动复制 方法二:使用工具 问题& ...

  5. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

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

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

  7. qt程序在Linux下字体乱了,解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!...

    本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开W ...

  8. 在Ubuntu下安装软件

    Ubuntu下的软件安装有几种方式,常用的是deb包的安装方式,deb是debian系列的Linux包管理方式,ubuntu属于debian的派生,也默认支持这种软件安装方式,当下载到一个deb格式的 ...

  9. Linux:ubuntu 下安装软件,卸载,查看已经安装的软件

    ubuntu 下安装软件,卸载,查看已经安装的软件 参考网址:http://wiki.ubuntu.org.cn/UbuntuSkills 一般的安装程序用三种:  .deb 和.rpm 这两种安装文 ...

最新文章

  1. Apriori算法通俗详解_fpgrowth_关联
  2. 虚幻填坑004:减少starter content占用空间,只保留使用的assets
  3. python csv数据处理_python处理csv数据的方法
  4. 用化学的方法分类键盘和鼠标
  5. .Net判断一个对象是否为数值类型探讨总结(高营养含量,含最终代码及跑分)...
  6. 为什么要学习 Spring Boot?
  7. U盘PE装系统-CGI一键还原备份安装方法
  8. 光学仿真(python菲涅尔公式)
  9. 移动运营商ipcc文件_教你如何在苹果官网提取IPCC文件
  10. 算术左移,逻辑左移,算术右移,逻辑右移之间的区别
  11. Callnovo如何因小见大,高端定制——“快乐的音符跳动在异国他乡”篇
  12. 隧道保活超时或协商超时_丰巢快递柜超时收费的法律分析
  13. android文件下载功能实现,Android中DownloadManager实现文件下载实例详解
  14. 静态网页抓取_学习笔记
  15. andriod R wifi 开启流程
  16. [Swift]对UIView截图
  17. 华硕hd7850_参测产品之华硕Dragon HD7850 2G_华硕 龙骑士DRAGON HD7850-DC2O-2GD5 _显卡评测-中关村在线...
  18. AE安装后提示磁盘缓存空间不足
  19. Latex之使用APA格式引用:文中作者加年份,文末不编号
  20. 智能变电站测试关键技术

热门文章

  1. 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】
  2. java中break的用法
  3. 网络安全笔记 -- 逻辑越权(水平垂直越权)
  4. linux内核工程导论,Linux内核工程导论–网络:TCP:netlink与tcp_diag编程
  5. 基于微信小程序的高校毕业论文管理系统#毕业设计
  6. java编程中对大数据的处理
  7. 数据结构学习,哈希表(链地址)
  8. 待办工作是什么意思?
  9. 【BZOJ 1433】[ZJOI2009]假期的宿舍
  10. 终于有人把业务中台、数据中台、技术中台都讲明白了