Qt5.12程序打包发布(Linux)
(Linux平台)Qt编译的程序如何在其他没有安装Qt的电脑上运行呢,本文将告诉你答案
(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上运行。
更多推荐
所有评论(0)