ubuntu 20.04下使用linuxdeployqt打包Qt程序
一、安装linuxdeployqt
下载
去github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件
无法使用github的可以用百度云:链接: https://pan.baidu.com/s/1ArvBU8vSS6MqaIHWxcpl4Q 提取码: xk2h
image.png
注意:这里我选用的5这个版本,其他版本会报如下错误:
dong@dong:~/download$ ./linuxdeployqt-continuous-x86_64.AppImage
linuxdeployqt 7 (commit 7d0bab4), build 730 built on 2021-04-27 18:47:56 UTC
ERROR: The host system is too new.
Please run on a system with a glibc version no newer than what comes with the oldest
currently still-supported mainstream distribution (Ubuntu Bionic), which is glibc 2.27.
This is so that the resulting bundle will work on most still-supported Linux distributions.
For more information, please see
https://github.com/probonopd/linuxdeployqt/issues/340
安装
# 给可执行权限
chmod +x linuxdeployqt-5-x86_64.AppImage
# 拷贝到 /usr/local/bin目录下
cp linuxdeployqt-5-x86_64.AppImage /usr/local/bin/linuxdeployqt
# 测试, 打印版本信息
linuxdeployqt -version
二、配置Qt环境变量
修改 ~/.bashrc
#add QT ENV
export QT_HOME=/home/dong/Qt/5.15.2/gcc_64/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${QT_HOME}/lib
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:${QT_HOME}/plugins
export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:${QT_HOME}/qml
PATH=$PATH:${QT_HOME}/bin
三、打包
将编译好的qt程序(Release版本)放到一个空目录下,执行如下命令
# 打包
linuxdeployqt 程序名称
# 将所有依赖和可执行文件打成一个大的可执行文件
linuxdeployqt 程序名称 -appimage -always-overwrite
四、遇到问题
打包是报错说libodbc.so.2、libpq.so.5有问题,需要安装相应的环境
# libodbc.so.2
sudo apt update
sudo apt install unixodbc-dev
# libpq.so.5
sudo apt-get install libpq-dev