文章目录
- 一、前言
- 二、linuxdeployqt下载安装
- 三、Qt环境变量配置
- 四、准备Qt可执行文件
- 五、打包
一、前言
在Windows下进行Qt开发,软件开发好之后可以使用windeployqt进行打包,然后程序就可以移动到其它电脑上运行了
在Linux下同样可以进行打包,使用linuxdeployqt
二、linuxdeployqt下载安装
下载地址:https://github.com/probonopd/linuxdeployqt/releases
下载结束之后进行安装。
1、为了方便使用,将名字改短一点:
mv linuxdeployqt-6-x86_64.AppImage linuxdeployqt
2、修改权限
chmod 777 linuxdeployqt
3、把linuxdeployqt可执行文件放到/usr/local/bin目录下,方便在任何目录都可以访问
mv linuxdeployqt /usr/local/bin
4、测试是否安装成功
linuxdeployqt --version
输出版本信息,表示安装成功。
遇到的问题:下载的linuxdeployqt版本太新
linuxdeployqt (commit 8cb9438), build 67 built on 2024-07-09 18:22:04 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 supported mainstream distribution (Ubuntu Focal Fossa), which is glibc 2.31.
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
解决办法:下载更旧的版本,即可解决!
三、Qt环境变量配置
工具会根据生成的可执行文件,自动搜索依赖,
所以我们需要确保Qt库的相关路径设置到环境变量中,这样工具在搜索时才能找到,并拷贝它们。
另外拷贝文件,对环境变量的使用,不想要重启系统那么麻烦,所以我们修改.bashrc文件,仅对当前用户永久有效。
vim ~/.bashrc
在.bashrc文件末尾,追加内容如下:
#add qt env
export PATH=/opt/Qt5.13.0/5.13.0/gcc_64/bin:$PATH
export LIB_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/lib:$LIB_PATH
export PLUGIN_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/plugins:$PLUGIN_PATH
export QML2_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/qml:$QML2_PATH
其中,/opt/Qt5.13.0/5.13.0/gcc_64是本次测试环境Qt安装目录,大家根据自己的情况替换。
然后,使用source命令让文件立即生效。
source ~/.bashrc
然后,对环境变量测试下,是否设置正确。如下:
qmake -v
四、准备Qt可执行文件
1、新建文件夹ADS-RTSim
mkdir ADS-RTSim
2、将Qt可执行文件复制到文件夹ADS-RTSim
cp /home/emtp/QtProject/build-DGRSS-Release/release/ADS-RTSim /home/emtp/ADS-RTSim
3、ldd查看Qt程序库依赖
ldd ADS-RTSim
如果上面某个库输出是not found,则说明ldd找不到这个库,需要将库复制到/usr/local/lib目录下
4、安装patchelf
sudo apt install patchelf
五、打包
linuxdeployqt ADS-RTSim -appimage
运行测试:
./AppRun