Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录

这篇具有很好参考价值的文章主要介绍了Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux 环境下Qt开发的摄像头程序用到了opencv的库,需要跟Qt环境一起打包。

1.打包所有关联库用的是脚本程序。

#!/bin/bash

LibDir=$PWD"/lib"
Target=$1

lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))

$(mkdir $LibDir)

for Variable in ${lib_array[@]}
do
    cp "$Variable" $LibDir
done

2.新建空文件夹放入编译好的release qt程序,比如摄像头程序 camera,新建打包脚本copylib.sh放在文件夹下。

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

3.终端执行 ./copylib.sh camera 会打包 camera程序所需的关联库。

4.完了会生成lib文件夹,把lib文件夹所有文件剪切到camera同级目录下,然后把lib文件夹删除。

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

lib里脚本也会把opencv用到的库也一起打包了

Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

5.camera同级目录下新建名称为platforms的文件夹,运行Qt程序还需要 xcb的库,需要去Qt安装目录 /opt/Qt5.12.2/5.12.2/gcc_64/plugins/platforms 里面的 libqxcb.so 拷贝到 platforms文件夹下。

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

6.新建运行程序的脚本,跟程序同名,camera.sh,放到camera同级目录下。

#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`

dirname=`dirname $0`
tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

7.到此按理说是可以运行的,但是放到其他机器下执行 ./camera.sh 会报错 xcb有问题。

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

8. 打开Qt debug 详细问题显示,执行 export QT_DEBUG_PLUGINS=1,然后再运行就会看到详细报错。

 Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

如上,是报错 libQt5XcbQpa.so.5 这个库文件找不到,文件夹下一起确实没有,就需要去Qt安装目录 /opt/Qt5.12.2/5.12.2/gcc_64/lib下 复制出来放到文件夹下。一定用命令 sudo cp .....复制,不要用鼠标操作,不然文件移动权限不够。

9.再次执行 ./camera.sh,同样报错libQt5DBus.so.5库找不到。也是同上一步,复制出来。

Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

10.再次执行 ./camera.sh,这次就没问题了

Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录,linux,qt

 文章来源地址https://www.toymoban.com/news/detail-600562.html

 

 

 

 

到了这里,关于Linux 打包Qt程序到无Qt环境Linux系统下运行,问题记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT----写完的程序打包为APK在自己的手机上运行

    qtcreater–工具-QTMaintenaceTool-startMaintenaceTool—登陆—添加或修改组件—找到android,安装 若是没有android这个包,就吧右边全勾上,筛选一下就会出现了 打开qtcreater–工具-外部-配置,配置android的sdk、ndk,选择路径下载等,让下边全绿 此时我们重新打开qtcreater就会有Android 的选

    2024年03月10日
    浏览(34)
  • linux QT程序打包

    GitHub - probonopd/linuxdeployqt: Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications GitHub - NixOS/patchelf: A small utility to modify the dynamic linker and RPATH of ELF executables 1、可以到上面链接上下载源代码

    2024年01月16日
    浏览(47)
  • Linux下QT程序打包

            网上有关QT程序打包的教程大多都是Windows下的教程,有关Linux下QT程序打包的教程很少,而且大多说的不是很详细,在这里我整理了以下有关Linux下QT程序打包的方法,仅供大家参考学习,有关Windows下QT程序打包的方法可以看我另一篇博客“QT项目超详细打包教程。  

    2024年02月16日
    浏览(29)
  • Linux 下使用 linuxdeployqt 打包QT程序

    当别人需要使用我们的 Qt 程序时,我们可以用打包工具将程序打包发给他,这样就不用发送整个 Qt 工程。由于 Qt 跨平台的特性,可以用不同的工具打包它。本篇文章是在 Linux 下使用 linuxdeployqt 将 Qt 程序打包成 .AppImage 应用程序。 环境介绍: Ubuntu 16.04 QT 5.12.12 linuxdeployqt(

    2024年02月03日
    浏览(33)
  • VS2019 打包桌面应用程序详细步骤,包含运行环境(.NET Framework)

    本篇教程基于VS扩展插件Microsoft Visual Studio Installer Projects工具来打包, 在VS工具中进行安装,菜单栏【扩展(X)】 -- 【管理扩展】,在界面中输入Installer,找到Microsoft Visual Studio Installer Projects,点击下载 在解决方案上右键 –【添加】--【新建项目】– 【Setup Project】,

    2024年02月04日
    浏览(50)
  • 完美解决Qt中关于Mysql程序的连接、打包等各类问题

    分享Qt如何连接Mysql、如何打包Mysql程序,完美解决连接和打包Mysql程序所出现的各类问题。        在Qt项目开发过程中,如果涉及到数据的存储,那么肯定会用到数据库,本篇文章以Mysql数据库为例,讲述Qt如何连接Mysql、如何打包含有Mysql的程序,并解决客户收到程序后无法

    2024年02月03日
    浏览(33)
  • QT5.14.2安卓环境配置及创建程序在手机上运行

    主要参考:Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_哔哩哔哩_bilibili            Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_qt安卓开发环境搭建-CSDN博客 出错时参考:如何在Windows下搭建Qt安卓开发环境? - 知乎 (zhihu.com)                 百度网盘链接 需要

    2024年04月17日
    浏览(22)
  • 解决Spring Boot项目中pom.xml环境配置 打包后生效 但idea版本运行无效的问题

    上文 Spring Boot中通过maven进行多环境配置 中我们通过pom.xml配置了环境选择 但这个只有在打包出来的jar中生效 我们直接通过 idea启动 这个东西确实是有点问题 其实 我们执行一下 compile 手工编译一下 然后重新启动 很明显 我们这里配置就已经生效了 这个就是 我们每次改pom.x

    2024年02月10日
    浏览(39)
  • 实测好用的Linux下打包发布Qt程序的方法(使用linuxdeployqt)

    自己试过能够打包好Qt程序,然后发给别人也能正常使用。 需要在github上下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件。 下载后将其改名为linuxdeployqt(方便使用),在终端对其chmod +x 加权限,然后复制到 /usr/local/bin/中(终端能识别该路径下的执行文件) 终端输入 lin

    2024年02月13日
    浏览(30)
  • 飞腾架构麒麟V10桌面系统Qt应用程序打包

    前言 本文记录了在飞腾架构麒麟V10桌面系统中打包Qt应用程序及部署的一些注意事项。打包工具使用的是linuxdeployqt,在飞腾架构架构下没有现成的工具安装包,需要自行编译安装。 1. linuxdeployqt 首先下载linuxqtdeploy下载地址https://github.com/probonopd/linuxdeployqt 下载之后解压目录如

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包