Linux中QT程序打包

目的:将Linux下自己写好的程序进行发布或者拷贝到其他电脑上运行。

 

工具:patchelf  cmake  linuxdeploy

 

  1. 安装patchelf软件

sudo  apt  install  patchelf

  1. 安装cmake软件

sudo  apt  install  cmake

Linux中QT程序打包

  1. 编译QT的环境变量,把环境变量写入~/.bashrc中,然后执行source命令,让其立即生效不需要重启

Linux中QT程序打包

在bashrc文件中添加以下内容:

#add QT ENV

export PATH=/home/humboldt/Qt5.10/5.10.0/gcc_64/bin:$PATH

export LD_LIBRARY_PATH=/home/humboldt/Qt5.10/5.10.0/gcc_64/lib:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=/home/humboldt/Qt5.10/5.10.0/gcc_64/plugins:$QT_PLUGIN_PATH

export QML2_IMPORT_PATH=/home/humboldt/Qt5.10/5.10.0/gcc_64/qml:$QML2_IMPORT_PATH

Linux中QT程序打包

  1. 用git 工具从github网站下载linuxdeployqt安装文件,这里注意,网上其他文章提到下载编译好的文件,我这里不推荐使用,编译好的文件我下载安装过,打包文件时会报错,这是用编译好的文件安装后的报错内容:

ERROR:This host system is too new 等信息

Linux中QT程序打包

处理方式:通过从github上下载源文件进行修改编译方式

执行如下命令下载源文件:

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

Linux中QT程序打包

 

  1. 修改编译源文件,进入到下载的linuxdeployqt文件夹中,进入tools/linuxdeployqt目录下的main.cpp文件中

Linux中QT程序打包

将如下内容注释掉

Linux中QT程序打包

  1. 编译修改好的源文件,进入到linuxdeployqt目录下

cmake  CMakelists.txt

make

Linux中QT程序打包

 

  1. 将编译好的linuxdeployqt文件拷贝到/usr/local/bin文件中。编译好的linuxdeployqty源文件文件在linuxdeployqt/tools/linuxdeployqt中,cp 到/usr/local/bin文件中

sudo  cp  linuxdeployqt/tools/linuxdeployqt/ linuxdeployqt  /usr/local/bin

Linux中QT程序打包

执行linuxdeployqt  -version命令查看是否安装成功

  1. 编译一个文件试试,QT中写好程序编译成release版,然后将可执行文件拷贝到一个空文件夹中,执行下面命令

linuxdeployqt  xxxx  -appimage(xxxx是需要编译的可执行文件)

将整个文件夹拷贝到其他电脑运行 ./AppRun 看是否成功

Linux中QT程序打包

 

提供一下上传资料的地址:

https://download.****.net/download/shetougong/12816837

资料中有两份文件,一份是源文件也就是我文章中说的需要自己手动注释些内容然后用camke、make工具编译,还有一份是github上编译好的文件,不建议使用