linux qt5 编译安装教程,QT5学习::ubuntu16.04下打包发布Qt编译的程序

ubuntu16.04下打包发布Qt编译的程序 关于如何打包在利用qt编译的程序,一般都建议使用linuxdeployqt ,但是个人感觉这个东西不可靠,有几点: 库找不齐

如果你在此之前使用了apt-get install 安装qmake ,这个linuxdeployqt会自动选择你通过apt安装的qmake而不选择你从qt官网上下载安装的qt(大坑)

linuxdeployqt做的事情,我们可以手动完成

一、Qt下选择releaze编译程序

(1)新建一个qml程序

7d748069f8ebc994c1f6e0d3e2a9e07e.png

(2)选择release下编译运行

94609f82becf55d15ccddf833ff1cce5.png

(1)找到release的文件夹,取里面的可执行文件,我这里是 qmltest

a579d6b15ee336be81e5c6a08f3f894c.png

(2)将该可执行文件随便复制到一个新的目录下,该目录是我们打包的目录

daea436005dc5be32bb60ea8ff89a83d.png

(3)使用ldd查看一下,该可执行文件依赖什么库,齐不齐

a4998fa8dde0af5e7f6f7ece85e4f3fc.png

(4)创建一个lib文件夹,用来存放这些ldd查找出来的库文件 mkdir lib

(5)在pack文件夹下,创建一个copy.sh文件,是个脚本,用来将ldd找到的库文件复制到lib文件夹下,

copy.sh内容如下 #! /bin/bash #执行脚本时在终端输入 ./copy.sh ./test ./copy #其中./test为ldd所要查看的可执行程序的路径,./copy为依赖文件最终拷贝到的文件夹路径 #以下三个参数为终端输入 # $0 为 ./copy.sh # $1 为 ./test # $2 为 ./copy # awk 后 $0,$1,$2为终端日志的字符串,以空格为分隔符,只在awk本行起作用 #将字符串重定向到dependList dependList=$( ldd $1 | awk '{if (match($3,"/")){ print $3}}' ) #输出 ./test #echo $1 #拷贝依赖 cp $dependList $2 #拷贝可执行程序 cp $1 $2

(6)在pack文件夹下,执行如下命令 sudo chmod +x copy.sh ./copy.sh qmltest ./lib/

执行完成之后,可以看到lib文件夹下已经有程序运行所需的库了,

这里需要删除一个库文件libc.so.6(不删除的话,复制到其他电脑上会出问题)

58265ef3fa4f3cf5053f1d52beafddd2.png

(7) 复制qt程序运行所需的插件

找到你Qt的安装路径,我这里是:

d2dd2ecb4c8db7365a2d1e4beb421f25.png

进入路径gcc_64

d8ce171a2f216fce35df288c355adeda.png

将plugins和qml两个文件夹复制到我们的打包目录pack下,

acbc444d593166d7e8aabe696083853c.png

(8)编写qt.conf文件,这是个配置文件,用来告诉qt编译的程序,所需的库、插件这些去哪里找,

[Paths] Prefix = ./ Plugins = plugins Imports = qml Qml2Imports = qml

(9)到这里,打包完成

(10)双击可执行文件,即可运行

43ab05761de97a38cf2afd05fddb34f8.png

总结: 以上步骤7取的是冗余步骤,以确保不会漏库,实际上,可以自行删减没有用到的库或者插件

以上是个人自行总结的方法,欢迎测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值