没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux下的QT程序打包,发布流程
目录Linux下的QT程序打包,发布流程Ⅰ. 打包流程1.编译2.使用ldd命令查看和导出需要的库3.编写执行程序的sh文件4.运行程序5.打包发布Ⅱ. 为程序添加快捷方式,图标,启动器启动Ⅲ. 碰到的问题#1 普通用户能正常运行,root用户却不能运行#2 更换电脑运行程序,出现错误提示,”could not find the QT platform plugin ‘xcb’ in ‘ ‘ “;Ⅳ. 参考博客 Linux下的QT程序打包,发布流程 问题描述:QT下运行的程序需要安装QT环境,为了让程序离开QT环境依旧可以照常运行,所以需要将程序打包发布。 Ⅰ. 打包流程 1.编译 使用
资源详情
资源评论
资源推荐

Linux下的下的QT程序打包,发布流程程序打包,发布流程
目录目录Linux下的QT程序打包,发布流程Ⅰ. 打包流程1.编译2.使用ldd命令查看和导出需要的库3.编写执行程序的sh文件4.运行程
序5.打包发布Ⅱ. 为程序添加快捷方式,图标,启动器启动Ⅲ. 碰到的问题#1 普通用户能正常运行,root用户却不能运行#2 更换
电脑运行程序,出现错误提示,”could not find the QT platform plugin ‘xcb’ in ‘ ‘ “;Ⅳ. 参考博客
Linux下的下的QT程序打包,发布流程程序打包,发布流程
问题描述:QT下运行的程序需要安装QT环境,为了让程序离开QT环境依旧可以照常运行,所以需要将程序打包发布。
Ⅰ. 打包流程打包流程
1.编译编译
使用QtCreator Release版本进行编译;
然后将编译出的可执行程序复制到一个空目录下;
2.使用使用ldd命令查看和导出需要的库命令查看和导出需要的库
在上一步的目录中新建文件 “pack.sh”,输入以下内容:
#!/bin/sh
exe="test" #你需要发布的程序名称,也就是上一步的可执行文件的文件名
des="/home/someone/QtProject/build-test-Desktop-Release/Test" #步骤1中的目录即本文件所在目录
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
为该文件添加执行权限sudo chmod +x pack.sh;
以上两处注释的地方需要根据自己的情况进行相应的修改。
3.编写执行程序的编写执行程序的sh文件文件
新建文件,文件名就是 可执行程序的文件名 + .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 "$@"
为该文件添加执行权限sudo chmod +x test.sh;
4.运行程序运行程序
./test.sh
5.打包发布打包发布
将该文件夹打包发布即可;
Ⅱ. 为程序添加快捷方式,图标,启动器启动为程序添加快捷方式,图标,启动器启动
该内容后面有时间再补充
Ⅲ. 碰到的问题碰到的问题
#1 普通用户能正常运行,普通用户能正常运行,root用户却不能运行用户却不能运行
有些程序需要roo用户执行,比如串口通讯。程序发布后,sudo 运行程序时出现段错误,直接崩溃;
原因:用户的切换导致了程序运行环境的切换;
sudo gdb ./test.sh调试,发现在加载libQt5SerialPort.so库的时候,程序崩溃;
分析:QT编译Release版本程序时,QT版本用的是5.13,在普通用户的环境下运行程序libQt5SerialPort.so库的版本是5.13
的,然而因为我的电脑有不同版本的QT,切换root用户后,libQt5SerialPort.so库的版本连接的是5.8的;
解决方法:直接将对应的库拷贝到发布目录下;
库的路径在/home/robot/Qt5.13.0/5.13.0/gcc_64/lib;
找不到路径时,可用locate命令定位locate libQt5SerialPort.so
#2 更换电脑运行程序,出现错误提示,更换电脑运行程序,出现错误提示,”could not find the QT platform plugin ‘xcb’ in ’ ’ “;;














安全验证
文档复制为VIP权益,开通VIP直接复制

评论5