Ubuntu16.04LTS下QT程序打包发布(嵌入式同)
(2018-05-25 09:37:32)
标签:
qts5p4418ubuntu打包程序嵌入式linux |
分类: QT4/5 |
很多时候,我们需要打包发布一些程序,今天来说一下如何打包发布QT程序:
linux-vdso.so.1 =>
(0xbeff0000)
libQt5Widgets.so.5 => /usr/local/Trolltech/Qt-5.9.1-nexell32/lib/libQt5Widgets.so.5
(0xb69d5000)
libQt5Gui.so.5 =>
/usr/local/Trolltech/Qt-5.9.1-nexell32/lib/libQt5Gui.so.5
(0xb6573000)
libQt5Core.so.5 =>
/usr/local/Trolltech/Qt-5.9.1-nexell32/lib/libQt5Core.so.5
(0xb6072000)
libstdc++.so.6 =>
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb5f4f000)
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、QtCreator使用Release版本编译生成可执行程序
2、将可执行程序复制到/opt/wdz/qtdemo/目录下(这个目录也可以自己建)
3、终端下使用ldd命令查看需要的连接库
4、把ldd查询到的所有需要的库导出
在这里,我们可以自己写一个shell脚本: vim pub.sh
#!/bin/sh
app="widget" #发布的程序名称--app
这是我的可执行程序的名字--widget
appath="/opt/wdz/qtdemo/" #你的路径
这是我的可执行文件的路径 对应的相应的更改
deplist=$(ldd $exe | awk '{if
(match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $appath #拷贝依赖库文件到指定路径下
wq!保存退出之后,增加脚本执行权限
#chmod +x pub.sh
查看程序依赖动态库路径:
# ldd widget
linux-vdso.so.1 =>
(0x00007ffc89997000)
libQt5Widgets.so.5 => /opt/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Widgets.so.5
(0x00007f02f8a80000)
libQt5Gui.so.5 =>
/opt/Qt5.9.1/5.9.1/gcc_64/lib/libQt5Gui.so.5
(0x00007f02f82d2000)
.....................................................................................................省略
注意:如果是嵌入式,我们就要到交叉编译安装环境下取出对应的库文件eg:嵌入式linux下执行
#ldd widget
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。省略
再在/opt/wdz/qtdemo/路径下写一个脚本文件:vim widget.sh
#!/bin/sh
wq!保存退出
增加可执行权限 :chmod +x widget.sh
自此!!!打包完毕!!!亲测有效
借鉴:
https://www.cnblogs.com/wanghuixi/p/8621853.html