安装linuxdeployqt
一.下载并安装linuxdeployqt
1.下载
方式一:若系统在ubuntu18.04以下,可以直接去 github下载编译好的linuxdeployqt-x86_64.AppImage 应用程序文件
方式二:若系统ubuntu18.04,则github上还未提供已经编译好的AppImage,需要下载[linuxdeployqt源码](GitHub - probonopd/linuxdeployqt: Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications自己在系统上进行编译后方可使用。
去github直接下载编译好的 linuxdeployqt-continuous-x86_64.AppImage 应用程序文件。
2.安装
方式一:利用下载编译好的linuxdeployqt-x86_64.AppImage 应用程序文件。下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/。然后命令行输入 linuxdeployqt --version,查看是否安装成功,若输出版本信息表示安装成功。
chmod +x linuxdeployqt-continuous-x86_64.AppImage
sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
sudo mv linuxdeployqt /usr/local/bin
linuxdeployqt --version
#输出的版本信息
linuxdeployqt 8 (commit aeafcd2), build <local dev build> built on 2022-05-19 02:13:10 UTC
方式二源码编译安装
由于目前官网提供的编译好的包适用于Ubuntu16.04以下的版本,ubuntu18.04及以上版本需要自行编译安装。编译安装步骤如下:
方式二:编译源码。
sudo apt install git g++
首先默认已经安装好了g++、git等工具,如果没有的话得先安装。还需要安装 patchelf 工具,命令如下:
sudo apt install patchelf
1)使用git克隆linuxdeployqt源代码,命令如下:
git clone https://github.com/probonopd/linuxdeployqt --depth=1
2)git完成后,进入linuxdeployqt文件夹
cd linuxdeployqt
#修改 tools/linuxdeployqt/main.cpp 源代码,注释掉源码中版本判断的语句。
gedit tools/linuxdeployqt/main.cpp
3)注释掉源代码种版本判断的代码,使其对ubuntu18.04及以上版本适用,使用gedit或者vim打开tools/linuxdeployqt/main.cpp脚本,将以下代码注释
/*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、make命令。
2. 安装cmake
在Ubuntu上使用命令:
sudo apt install cmake
</