CentOS7.5发布Qt5.12.2编译的程序

CentOS7.5发布Qt5.12.2编译的程序

1、 新建目录BuildRelease,BuildRelease/Lib
2、 拷贝Qt程序到BuildRelease目录下

cp  MyAPP  BuildRelease

3、 拷贝Qt插件库到BuildRelease目录下(根据自己的程序调用插件种类相应增加)

cp –r /opt/Qt5.12.2/5.12.2/gcc_64/plugins/platforms BuildRelease/
cp –r /opt/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats BuildRelease/

4、 在BuildRelease目录下新建脚本文件copyDependentLib.sh拷贝依赖库

#!/bin/sh
exe=$1
des=$2
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des

5、 设置可执行权限

chmod +x copyDependentLib.sh 

6、 运行拷贝依赖库脚本文件

./copyDependentLib.sh  MyAPP  $PWD/Lib 

7、 将BuildRelease 打包,拷贝到目标主机
8、 切换到BuildRelease目录下
9、 运行run.sh程序执行脚本

#!/bin/sh
dirname=`dirname $0`
export LD_LIBRARY_PATH=$dirname/Lib:$ LD_LIBRARY_PATH
$dirname/MyApp

10、 设置可执行权限

chmod +x run.sh 

10、设置读取QT抛出的实际错误消息

export QT_DEBUG_PLUGINS=1

11、运行程序

./run.sh

12、这时出现一些诸如以下的一些问题
Cannot load library /home**程序路径/platforms/libqxcb.so:( libQt5XcbQpa.so.5:cannot open file ***)
13、回到编译主机,在Qt目录下找到libQt5XcbQpa.so.5文件, 然后将其拷贝(注意libQt5XcbQpa.so.5一般为链接文件,我们需要拷贝真实内容库文件libQt5XcbQpa.so.5.12.2)

cp /opt/Qt5.12.2/5.12.2/gcc_64/lib/libQt5XcbQpa.so.5.12.2 *** 

14、将libQt5XcbQpa.so.5.12.2文件拷贝到目标主机BuildRelease/Lib目录下,并将其重命名为libQt5XcbQpa.so.5
15、类似问题可依照以上11~14步做,直到把库拷贝齐全
16、运行程序

./run.sh

17、Good lock for you!
参考:
https://www.helplib.com/ubuntu/article_162222
https://doc.qt.io/qt-5/linux-deployment.html

你可能感兴趣的:(Qt)