徐州网站开发多少钱,企业网站收费标准,网络优化网站 s,网站策划网简述 用Qt5.8版本在ubuntu16.04版本下编写Qt应用程序#xff0c;生成release版本并打包#xff0c;到另一台无Qt环境的linux系统中运行。 网上通常是按以下几个步骤进行#xff1a; 1、生成release程序。 2、拷贝release程序到一个新文件夹#xff0c;执行一个脚本文件。脚…简述 用Qt5.8版本在ubuntu16.04版本下编写Qt应用程序生成release版本并打包到另一台无Qt环境的linux系统中运行。 网上通常是按以下几个步骤进行 1、生成release程序。 2、拷贝release程序到一个新文件夹执行一个脚本文件。脚本文件的作用是ldd 程序名并拷贝程序依赖的库到这个新文件夹。 3、编写一个和程序同名的sh文件以此作为启动程序。不直接用release程序启动的好处是可以无须配置环境变量而把配置环境变量过程写在sh脚本文件中当然也可以配置环境变量后运行release程序的方式启动程序。 4、拷贝platforms文件夹到这个新文件夹。 5、拷贝整个新文件夹到新linux系统发布完成。 作者在第5步后会提示failed to start because it could not find or load the Qt platform plugin “xcb” in “”的错误由于对linux文件系统的不熟悉研究了一天才解决。
解决 经过上网查询这个问题主要是platforms文件夹中libqxcb.so的依赖库没有拷贝导致的。可是如何拷贝依赖库是个大问题 在程序当前目录下输入ldd platforms/libqxcb.so后提示/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 “not found”,去原linux电脑中确实找到了libQt5XcbQpa.so.5文件但把这个文件拷贝到release所在目录下并没有效果 研究了一天才明白libQt5XcbQpa.so.5文件是链接文件使用ls -al可以找到链接文件对应的源文件把源文件拷贝到release目录下再新建一个相同名字的链接文件,才算完成了这个libQt5XcbQpa.so.5资源文件的打包 新建链接文件的命令ln -s $PWD/libQt5XcbQpa.so.5.8.0 libQt5XcbQpa.so.5。 同样的还有一个libQt5DBus.so.5的链接文件也要通过拷贝真实文件libQt5DBus.so.5.8.0到打包目录然后通过ln -s $PWD/libQt5DBus.so.5.8.0 libQt5DBus.so.5命令建立同名的链接文件。 “xcb” in “”的问题完美解决程序正常启动运行了。 ———————————————— 版权声明本文为CSDN博主「lusanshui」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/lusanshui/article/details/84988017