linuxdeployqt编译

2021-10-28  本文已影响0人  _compass

qt在linux上打包时可使用linuxdeployqt进行链接库链接。但官网上在某个版本之后,需要自己编译linuxdeployqt使用,否则会报无法使用问题。即:此工具需要自己编译:

1. 安装pathelf

在Ubuntu上使用命令:

sudo apt install pathelf

在RedHad系列(例如CentOS)上使用命令:

sudo yum install pathelf

2. 安装cmake

在Ubuntu上使用命令:

sudo apt install cmake

同样:CentOS使用:

sudo yum install cmake

3. 修改.bashrc环境变量

sudo vim ~/.bashrc

在弹出的框里,按下i键插入,输入以下:

export PATH=/home/compass/Qt5.14.2/5.14.2/gcc_64/bin:$PATH

export LD_LIBRARY_PATH=/home/compass/Qt5.14.2/5.14.2/gcc_64/lib:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=/home/compass/Qt5.14.2/5.14.2/gcc_64/plugins:$QT_PLUGIN_PATH

export QML2_IMPORT_PATH=/home/compass/Qt5.14.2/5/14.2/gcc_64/qml:$QML2_IMPORT_PATH

接着按下esc键,输入:wq保存退出

source ~/.bashrc

3. 下载linuxdeployqt源码与修改

我这里已经下载过了,如果没有下载,则可以clone一个:

git clone https://github.com/probonopd/linuxdeployqt --depth=1

然后在下载的源码里,修改tools/linuxdeployqt/main.cpp源码,搜索到源码里的:

strverscmp(glcv, "2.27")

将它注释掉:

image

修改之后保存。然后回到linuxdeployqt目录,使用cmake编译:

cmake CMakeLists.txt

编译完了之后,生成了makefile文件,再执行make.

最后在tools/linuxdeployqt目录生成一个可执行文件:linuxdeployqt

Ubuntu上将linuxdeployqt文件拷贝到/usr/local/bin使用

在任何一个位置,使用./linuxdeployqt能正常使用,即安装成功了。

4. 打包

在项目的release文件夹下,使用linuxdeployqt xxx -appimage

即可生成绿色安装文件夹。

5. 编写启动脚本

sudo vim runApp.sh

在弹出的框里输入:


#!/bin/bash

appdir=pwd

export LD_LIBRARY_PATH=$appdir/lib:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=$appdir/plugins:$QT_PLUGIN_PATH

export QML2_IMPORT_PATH=$appdir/qml:$QML2_IMPORT_PATH

./CMReader

按下esc键,输入:wq之后,给sh文件添加权限:

sudo chmod +x runApp.sh

启动的时候即可之后用runApp启动即可。

上一篇下一篇

猜你喜欢

热点阅读