赞
踩
1、部署程序的环境需要安装QT开发环境吗?
2、QT程序如何调用自定义的库文件?
3、QT程序如何开机自启动?
4、QT程序遇到泪滴xcb库依赖调用失败怎么解决?
5、如何设置QT_QAP_PLATFORM_PLUGIN_PATH 路径?
6、如何打印更多的更详细异常信息?
7、发布时候,需要与程序平级放platforms和plugins文件,尤其plugins文件内部的驱动,例如mysql数据库的驱动,直接拷贝开发平台的文件即可。
针对以上问题,分享个人工作总结和体会,如有问题敬请提出宝贵意见,分享见解!
解决流程:
1、针对QT程序的发布,除了需要自定义的库文件外,需要QT开发环境的plugins文件一同发布到程序的相同路径下;
2、需要设置环境变量:export T_QPA_PLATFORM_PLUGIN_PATH=/opt/Qt5.12.12/5.12.12/gcc_64/plugins/platforms/
3、或者修改/etc/profile 文件追加上行的命令代码,并执行source 生效;
4、另外一种(一般不用)修改/etc/ld.so.conf.d/lib.conf 增加自定义库的路径位置;
QT开发遇到问题:
1、岔开libbsd。so的依赖GLBC版本: Strings /lib/x86_64-linux-gnu/libbsd.so.o |grep GLIBC_
2、Qt编译错误“GL/gl.h:No such file or directory
是因为这是由于系统中没有安装OpenGL库导致的,于是在控制台中输入以下命令安装OpenGL库及其工具:apt-get install libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev 即可。
3、解析xml文件的时候提示缺少libxml2,安装apt-get install libxml2-dev即可。
4、QTCreator运行失败,提示找不到xcb库:
解决方法:
1.sudo gedit ~/.bashrc 输入 export QT_DEBUG_PLUGINS=1 和
export LD_LIBRARY_PATH=/home/itcast/qt/Qt5.12.10/5.12.10/gcc_64/lib:$LD_LIBRARY_PATH(注意把路径替换为自己的安装路径)
5、开机自启动设置
gnome-session-properties
6、问题如下:
Got keys fom plugin meta data
("xcb")
QFactoryLoader::QFactoryLoader
() checking directory path
"/home/itcast/qt/Qt5.12.10/Tools/QtCreator/bin/platforms" ...
loaded library
"/home/itcast/qt/Qt5.12.10/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so"loaded library
"Xcursor"Segmentation fault
(core dumped
)
原因在于libqxcb.so,解决方法
进入platform目录 : ~/qt/Qt5.12.10/5.12.10/gcc_64/plugins/platforms(注意路径和安装位置有关) 执行如下命令
ldd libqxcb.so
sudo apt install --reinstall libxcb-xinerama0
source ~/.bashrc
到这里QT就已经可以打开了(注意,QT 需要加sudo才能打开)
sudo ./qtcreator
7、程序部署在目标环境上,有时运行不通过,提示xcb库调用不到
解决办法:1、设置QT_QAP_PLATFORM_PLUGIN_PATH 变量,指定platforms的路径;
2、设置QT_DEBUG_PLUGINS=1, 这样程序运行的时候会提示更加详细的错误信息;
3、通过ldd命令,查看调用失败的库依赖环境是否缺少,例如:
linux-vdso.so.1 (0x00007ffffebe9000)
libQt5XcbQpa.so.5 => not found
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f5173e69000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f5173bb5000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5173998000)
libQt5Gui.so.5 => not found
libQt5DBus.so.5 => not found
libQt5Core.so.5 => not found
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f517370c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f51734ed000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f51732eb000)
我们可以通过查找到并拷贝这些库到当前程序路径下面解决。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。