初学银河麒麟linux笔记 第六章 发布qt程序

本章参考了@长沙红胖子Qt 的笔记

https://blog.51cto.com/hongpangzi/5788384

这里纪录一下步骤

linux上的QT程序已经能正常编译运行,这里需要进行发布。

1.下载linuxdeployqt源代码

 https://gitcode.net/mirrors/probonopd/linuxdeployqt

得到 linuxdeployqt-master.tar

2.解压,修改源码,去掉版本检查

  找到main.cpp源码,将这一段(在190行左右)注释掉:

 

 3.安装依赖第三方库

sudo apt-get install cmake
sudo apt-get install patchelf

4.使用cmake配置

cmake CMakeLists.txt

 

出现错误,直接修改源代码(引用了他人的图片)

 

再执行

cmake CMakeLists.txt 

 成功

  直接删掉目录下的缓存文件:CMakeCache.txt,然后继续:

5. 配置Qt的依赖环境

装上cmake的gui版本:

sudo apt-get install cmake-gui

运行

cmake-gui 

 

将地址填写完毕后,直接点击“configure”,会直接出现各个环境变量路径(这里的build是我手动新建的文件夹)

 

 

 6.生成generate

 

 7.编译Cmake

  切入build目录,并且使用make命令即可:

 

 

8.安装到系统目录

sudo mv linuxdeployqt /usr/local/bin/

 

 

 

 

 

 9.测试编译是否成功

pwd
linuxdeployqt

 

 

 

 

linuxdeployqt打包流程

打开需要打包的工程,再找个空目录

 

开始打包

新建一个脚本 ,命名 source env.sh

vim source env.sh

输入

#!/bin/sh
QT_DIR=/opt/Qt5.12.3/5.12.3/gcc_64
export PATH=${QT_DIR}/bin:$PATH
export LIB_PATH=${QT_DIR}/lib:$LIB_PATH
export PLUGIN_PATH=${QT_DIR}/plugins:$PLUGIN_PATH
export QML2_PATH=${QT_DIR}/qml:$QML2_PATH
export LD_LIBRARY_PATH=${QT_DIR}/lib:$LD_LIBRARY_PATH

echo $PATH
echo $LIB_PATH
echo $PLUGIN_PATH
echo $QML2_PATH
echo $LD_LIBRARY_PATH

然后保存退出,得到脚本文件

 

 运行脚本

sh source env.sh

 

 

 进行打包

linuxdeployqt xxx -verbose2

打包过程中发现几个自行添加的外部控件的库没有找到

 将这几个库放入

/opt/Qt5.12.3/5.12.3/gcc_64/lib

再进行打包

 

打包成功,当前可直接运行程序。

但当转移到目标机上时,出现

 

 

 

在lib文件夹中找到这几个文件,放入可以找到其他库文件的地址里,再运行。

posted @ 2022-11-25 14:19  艾绒  阅读(799)  评论(0编辑  收藏  举报