QT在linux上的发布,写给小白看的,老手略过

我也是个小白,以前在win上发布Qt程序感觉很easy,Release了之后,到目录下运行exe文件,提示缺什么dll就拷贝什么dll到目录下就好了。linux上大致相同,但是还是有些许的区别的。

1.linux上Release了之后,也是缺库 ,缺的是  .so  的库
2.linux上不会提示缺什么库,自己查
3.linux上不仅要库,还要对应库的 软链接
4.修改环境变量,让路径指向当前目录下,运行shell脚本,而不是可执行变量

以上四条你可能都不明白,但是照着下边的做就ok了

1.用 “ldd 可行路径” 看你的程序都缺啥库   (就找那个"not found")
1.1新建一个txt,把这些粘贴进去
ln -s libicudata.so.53.1 libicudata.so.53ln -s libicui18n.so.53.1 libicui18n.so.53
ln -s libicuuc.so.53.1   libicuuc.so.53
ln -s libQt5Core.so.5.4.1 libQt5Core.so.5
ln -s libQt5DBus.so.5.4.1  libQt5DBus.so.5
ln -s libQt5Gui.so.5.4.1 libQt5Gui.so.5
ln -s libQt5Widgets.so.5.4.1 libQt5Widgets.so.5
(PS:这些都是最基本的库,一般都会缺这些玩意,如果你的程序还用到其他的,照这个格式再写上去。)

1.2 然后后缀改成 .sh,在终端输入  sh ./XXX.sh就可以了  你会发现你的目录下多了很多带箭头的文件,每个库都对应有一个。
这其实就是建立的软链接

2.在建一个跟你工程同名的txt文档,把这段复制进去,换成你路径。 然后 同样后缀改成 .sh
2.1#--------------------------
env |grep LIB 
export LD_LIBRARY_PATH=.
export QT_PLUGIN_PATH=你的路径/platforms
export LD_LIBRARY_PATH=你的路径/platformsLD_LIBRARY_PATH
#--------------------------
#!/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 $*

2.2 把platforms拷贝到你的工程目录下

2.3同样运行刚才这个.sh 好了,这个时候你能程序应该能起来了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值