Linux下Qt程序打包
文章目录一、前言二、linuxdeployqt下载安装三、Qt环境变量配置四、准备Qt可执行文件五、打包六、封装成deb安装包一、前言在Windows下进行Qt开发软件开发好之后可以使用windeployqt进行打包然后程序就可以移动到其它电脑上运行了在Linux下同样可以进行打包使用linuxdeployqt二、linuxdeployqt下载安装下载地址https://github.com/probonopd/linuxdeployqt/releases下载结束之后进行安装。1、为了方便使用将名字改短一点mv linuxdeployqt-6-x86_64.AppImage linuxdeployqt2、修改权限chmod 777 linuxdeployqt3、把linuxdeployqt可执行文件放到/usr/local/bin目录下方便在任何目录都可以访问mv linuxdeployqt /usr/local/bin4、测试是否安装成功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文件末尾追加内容如下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-RTSimmkdir ADS-RTSim2、将Qt可执行文件复制到文件夹ADS-RTSimcp /home/emtp/QtProject/build-DGRSS-Release/release/ADS-RTSim /home/emtp/ADS-RTSim3、ldd查看Qt程序库依赖ldd ADS-RTSim如果上面某个库输出是not found则说明ldd找不到这个库需要将库复制到/usr/local/lib目录下4、安装patchelfsudo apt install patchelf五、打包linuxdeployqt ADS-RTSim -appimage运行测试./AppRun为了测试在没有搭建Qt环境的PC上能不能执行可以将环境变量注释掉export输出这些就是有环境变量可以使用#注释掉然后重新export查看没有这些输出了然后再执行打包的Qt程序如果能执行那迁移到别的PC上应该也没有问题
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2421018.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!