栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux Mint20.3 Qt5.15.2的linuxdeployqt打包环境配置

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux Mint20.3 Qt5.15.2的linuxdeployqt打包环境配置

linuxdeployqt
  • 序言
  • 环境
  • 一、下载linuxdeployqt
    • 下载开发者边车 DevSidecar
    • 下载网上编译好的包
    • 下载源码自行编译
    • 放进Linux里
  • 二、配置linuxdeployqt
    • 配置Qt的环境变量,便于打包时寻找到地址
    • 已编译好的包配置
    • 自行编译包的步骤
  • 三、其余软件的安装配置
    • patchelf
    • Appimagetool
  • 四、linuxdeployqt打包

序言

网上其实都有很多,但是都或多或少有些不全,版本也是不讲明适合怎么样的,所以我就写出来仅供参考。

环境

Linux Mint20.3
Qt5.15.2

一、下载linuxdeployqt

此处共两个方法下载,一个是下载网上编译好的包,另一个是下载源码然后自行编译安装,由于本人经常很难登录到GitHub,所以我也一并把勉强能登录的方法写下来。

下载开发者边车 DevSidecar

如果有人和我一样很难登录上GitHub的话,可以下载开发者边车,这个软件能够让你登的上去。

随便找的一个下载处

下载网上编译好的包

linuxdeployqt下载地址:https://github.com/probonopd/linuxdeployqt/releases

但要注意的一点是,如果Linux的环境glibc版本不匹配,会引发报错的,详细报什么错可以看下去。

如果你还没安装Linux环境或者不知道自己匹不匹配,可以看下这位总结出来的Linux发行版的glibc版本

下载源码自行编译

如果你看了上文,发现glibc版本不匹配,所以用不了上面的方法,可以看这个方法,其实这个方法也和掩耳盗铃差不多。

linuxdeployqt源码下载地址:https://github.com/probonopd/linuxdeployqt.git

下载下来ZIP压缩包即可。

放进Linux里

一般我们开发Linux的都是用的虚拟机开发吧,只要将包放到Linux的划定的共享文件夹里,然后从中复制/剪切进去放到随便放个文件夹里即可。

上面的菜单栏中:虚拟机->设置->选项

二、配置linuxdeployqt 配置Qt的环境变量,便于打包时寻找到地址

输入指令编辑环境变量

vi ~/.bashrc

在未进入输入模式前,按“shift+g”即可跳转最下方,然后填入下方的环境变量即可。

export QTDIR=/home/mrliang/WorkSoftware/Qt5.15/5.15.2/gcc_64
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PLUGIN_PATH=$QTDIR/plugins:$PLUGIN_PATH
export QML2_PATH=$QTDIR/qml:$QML2_PATH

注:上面的环境变量不全,如果打包时漏了,需自行复制模块包过去,或者找到对应环境变量再行编辑也可,最好能评论留言让我增添此处,谢谢。
.

已编译好的包配置

如果是第一个方法下载的,可以直接在包所在目录下按顺序输入即可。

sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt		//重命名
sudo mv ./linuxdeployqt /usr/local/bin								//方便任意文件夹里使用
chmod 777 linuxdeployqt												//赋予权限
sudo linuxdeployqt --version										//查询是否配置好

.

自行编译包的步骤

进入你放的解压缩后linuxdeployqt源码文件夹里(本人的Linux环境存在下图的选项,我可以直接提取出来,别的环境自行找教程解压缩吧)。

注:本人让其环境配置中文化了,非环境本身默认语言

再进入到里面的tools/linuxdeployqt/里

vi/vim/gedit都可以,打开main.cpp,注释掉下面的if项(大概200行左右),免得报glibc版本过高的错,这就是所谓的掩耳盗铃,不涉及太深入的基本没什么影响。

		// openSUSE Leap 15.0 uses glibc 2.26 and is used on OBS
        // Ubuntu Xenial (16.04) uses glibc 2.23
        // Ubuntu Bionic (18.04) uses glibc 2.27
        

执行cmake

cmake CMakeLists.txt
make

此处如果报错的话,看下方。

还有一处问题,我怀疑是我下载的源码或者是环境变量漏了之类的原因吧,原因暂时不明,大概在51行处,这是用来输出linuxdeployqt版本的。

总是提示报错,但我怎么看都不像格式的问题,我又不清楚那些宏的定义,所以就退而求其次,一并注释掉吧。

version << "linuxdeployqt over" ;

当make成功后,会生成一个linuxdeployqt的程序文件,这个就和上面的编译后的文件一样。

继续输入:

sudo chmod 777 linuxdeployqt					//赋予权限
sudo cp -p linuxdeployqt /usr/local/bin/		//方便任意文件夹里使用
sudo linuxdeployqt --version					//输出linuxdeployqt over
三、其余软件的安装配置

linuxdeployqt其实有不同的打包方式,但现在按下不表,感兴趣可自行查询了解。

本文是常用的-appimage方式

patchelf

方法①:

 sudo apt-get install patchelf

方法②

wget https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.bz2
tar xf patchelf-0.9.tar.bz2
cd patchelf-0.9/ 
./configure  
make
sudo make install
Appimagetool

方法①:
Appimagetool下载地址:
https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage

在Linux的Appimagetool当前目录下输入:

sudo mv appimagetool-x86_64.AppImage appimagetool
chmod 777 appimagetool
sudo./appimagetool /usr/local/bin

方法②

sudo wget -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool
sudo chmod a+x /usr/local/bin/appimagetool

当上面的都安装好后,分别输入

which linuxdeployqt 
which patchelf
which Appimagetool

返回路径说明存在,安装成功。

四、linuxdeployqt打包

将release下编译出exe文件复制到一个新文件夹里,然后在该文件夹目录的命令行中输入

sudo linuxdeployqt 软件名.exe -appimage

.
完…本文主要是linuxdeployqt的环境配置,其余的需自行搜集丰富。

主要参考文章:
①https://blog.csdn.net/skl5879166/article/details/124247975
②https://blog.csdn.net/weixin_44713381/article/details/107894339

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964845.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号