Linux Qt程序打包发布

前言

用的国产Linux系统,系统自带Qt4的库,开发用的Qt5.14,在不影响原有Qt4的库的前提下,打包发布,整了好长一段时间,记录一下
PS:我这国产Linux下WPS用的Qt4的库,不能影响其他软件正常使用


一、Pro文件

硬编码可执行文件库的搜索路径,qt.pro添加如下:

unix:!macx: LIBS += -L./QtLib
QMAKE_LFLAGS += -Wl,-rpath=./QtLib

二、qt.conf文件

1.qt工程

创建并添加qt.conf文件
Linux Qt程序打包发布_第1张图片

[Paths]
Prefix=./QtLib
Plugins=plugins
Libraries=lib

2.打包

打包时需要将qt.conf文件放到执行文件目录下,打包需要依赖qt库命令如下:

ldd 程序名 | grep -i qt

相关库存放路径如下:
Linux Qt程序打包发布_第2张图片
QtLib目录结构如下:
Linux Qt程序打包发布_第3张图片

Linux Qt程序打包发布_第4张图片
Linux Qt程序打包发布_第5张图片
20220105补充
Linux下Qt应用程序无法输入中文,需要添加插件库libfcitxplatforminputcontextplugin.so(系统自带或者sudo apt-get install fcitx-libs-qt5 下载),如下图所示,同时qt安装目录下也需要该库,并且增加执行权限
Linux Qt程序打包发布_第6张图片

20220329继续补充
qt打包对应安装目录,需要那个目录下的so,conf就添加对应的项,对应表格如下

Entry Default Value
Prefix QCoreApplication::applicationDirPath()
Documentation doc
Headers include
Libraries lib
LibraryExecutables libexec
Binaries bin
Plugins plugins
Imports imports
Qml2Imports qml
ArchData .
Data .
Translations translations
Examples examples
Tests tests
Settings .

3.配置动态库加载路径

配置的是其他依赖库的加载路径,不是qt的,手动添加如下:

pwd (回车拷贝)
sudo vim /etc/ld.so.conf (末尾粘贴)
sudo ldconfig

install.sh脚本添加如下,需要sudo运行:

ConfPwd="/etc/ld.so.conf"
AppPwd=$PWD
grep -w $AppPwd $ConfPwd && echo "pwd exist!"||echo $AppPwd >> $ConfPwd
sudo ldconfig

你可能感兴趣的:(QT,qt,linux,qt打包)