linux 发布qt程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leijia_xing/article/details/79475691

环境:centos7.2  qt5.5.1 qtcreator编译后获得可执行程序A

1.将文件夹拷到没有装qt的机器上,进入文件夹,点击程序A,没有任何反应,因为缺少so库,命令行进入文件夹,执行ldd A

会打印程序依赖库的情况,查找not found相关的库,去安装qt的机器上把相关库拷到与A同一目录下,我的qt安装路径为/opt/Qt5.5.1/5.5/gcc_64/lib,在这个路径下可以找到大部分库,如常用的libQt5Widgets.so.5    libQt5Gui.so.5    libQt5Core.so.5等

2.拷过去之后需要把当前路径加到/etc/ld.so.conf中,然后执行ldconfig.此时再执行ldd A,缺少的库就有了。

3.在命令行下执行./A ,出错误:This application failed to start because it could not find or load the Qt platform plugin "xcb". 将/opt/Qt5.5.1/5.5/gcc_64/lib路径下的libQt5DBus.so.5和libQt5XcbQpa.so.5拷到与A同一路径下,并将/opt/Qt5.5.1/5.5/gcc_64/plugins路径下的platforms拷到程序路径下,执行ldconfig,再次运行./A,程序可以运行起来,但是界面没有,只有状态栏的图标。

4.此时命令行报错:QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled,将/opt/Qt5.5.1/5.5/gcc_64/plugins路径下的xcbglintegrations拷过来,再次运行./A,程序正常跑了起来。

猜你喜欢

转载自blog.csdn.net/leijia_xing/article/details/79475691