(Linux平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案

编译工程

这里拿官方的一个例程作为目标工程,选择 Release 的方式编译工程,

在这里插入图片描述
编译完成后,程序自动运行(如下图),找到可执行文件的位置(可在项目构建目录中查找),

在这里插入图片描述

将可执行文件单独复制出来,放在一个空文件夹中,

在这里插入图片描述

此时该文件是无法运行的,

在这里插入图片描述

配置Qt的环境变量

打开 ~/.bashrc,在最后面添加Qt环境变量(根据自己Qt目录设置)

在这里插入图片描述

#配置Qt环境变量
export PATH=$PATH:/opt/Qt5.12.9/5.12.9/gcc_64/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/lib
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/plugins
export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:/opt/Qt5.12.9/5.12.9/gcc_64/qml

保存后在终端输入source ~/.bashrc 或者重启电脑后方可生效。

下载linuxdeployqt

到github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件
下载地址:https://github.com/probonopd/linuxdeployqt/releases

在这里插入图片描述

运行linuxdeployqt

设置linuxdeployqt-x86_64.AppImage为可执行权限,同时复制到/usr/local/bin目录下,顺便重名个名,

在这里插入图片描述
使用linuxdeployqt app -appimage (app为可执行文件) 进行打包,

第一次没有成功,原来是ubuntu自带了qmake,但只是一个空壳,我们需要手动修改qmake的路径,

在这里插入图片描述

修改/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf这个文件(根据自己的Qt目录进行设置),

/opt/Qt5.12.9/5.12.9/gcc_64/bin
/opt/Qt5.12.9/5.12.9

再次运行linuxdeployqt app -appimage,虽然还是报了几个错,但不影响使用,

在这里插入图片描述
此时打包目录下新增了很多库文件,可执行文件也可以顺利运行(在其他没安装Qt的linux系统上也能运行):

在这里插入图片描述


由于Linux发行系统多种多样,在ubuntu上编译的Qt程序,不一定能在其他发行版上运行,即使同是ubuntu系统亦是如此。我在16.04上编译的程序,能在其他16.04的系统(没装Qt)上运行,但不能在14.04上运行。

Logo

更多推荐