Linux Mint20.3 Qt5.15.2的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
        /*if (strverscmp (glcv, "2.28") >= 0) {
            qInfo() << "ERROR: The host system is too new.";
            qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";
            qInfo() << "currently still-supported mainstream distribution (Ubuntu Bionic), which is glibc 2.27.";
            qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";
            qInfo() << "For more information, please see";
            qInfo() << "https://github.com/probonopd/linuxdeployqt/issues/340";
            return 1;
        }*/

执行cmake

cmake CMakeLists.txt
make

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

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

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

version << "linuxdeployqt over" ;
/*<< LINUXDEPLOYQT_VERSION << " commit " 
<< LINUXDEPLOYQT_GIT_COMMIT << "build "
<< BUILD_NUMBER << " built on " << BUILD_DATE;*/

当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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪渣渣_梁世华

打赏?我甚至没有任何收费的章节

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值