初学银河麒麟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文件夹中找到这几个文件,放入可以找到其他库文件的地址里,再运行。