教你使用windeployqt工具来进行Qt的打包发布

2023-11-03

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。

因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。


问题的提出

既然是要发布自己的程序,那么就需要,在Release中编译运行。具体方法如下图所示。

1.点击qt界面左下角的图标;

2.选择Release;

3.点击编译运行即可;




生成的程序运行正常之后,找到项目的生成目录。比如,项目源码路径:
D:\OutPutResult\QtWorkPlace\DiyName
它的项目生成目录是:
D:\OutPutResult\QtWorkPlace\build-DiyName-Desktop_Qt_5_8_0_MinGW_32bit-Release


我们可以发现,此时点击.exe文件是会出问题的,解决办法如下。

 

 

使用windeployqt工具,进行打包发布

1.首先进入上图中这个文件夹,在里面,找到 DiyName.exe,将这个.exe 复制到一个新的单独的文件夹里用于发布,比如存到 :
D:\OutFaBu 文件夹里面。


此时,这个文件只一个有刚刚从release文件夹下,复制过来的.exe文件。



2.以官方 Qt 5.8.0+MinGW 开发环境为例,
从开始菜单--》Qt 5.8.0--》5.8--》MinGW5.3.0 (32-bit)--》Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)

可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。



3.然后从开始菜单打开 Qt 命令行,输入命令 :
cd /d D:\OutFaBu
然后使用 windeployqt 工具命令:
windeployqt DiyName.exe

注意】D:\OutFaBu和DiyName.exe都是本人自己创建和生成的文件,读者根据自己情况自行修改,切勿直接复制粘贴





4.运行完成



此时,我们可以发现在刚刚创建的新文件夹D:\OutFaBu中生成许多文件和 dll文件、qm文件,这时候得到的就完整的 exe程序发布集合,依赖关系都解决好了。此时点击DiyDame.exe文件就可完美的运行。

将整个文件夹压缩打包就可以发布了,可以给其他电脑使用,是不是很方便。


其他参考文章

http://blog.chinaunix.net/uid-20044771-id-3222797.html
http://tieba.baidu.com/p/3730103947
http://blog.csdn.net/liuyez123/article/details/50462637
http://blog.sina.com.cn/s/blog_a6fb6cc90101fer8.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

教你使用windeployqt工具来进行Qt的打包发布 的相关文章

  • QT:删除QGridLayout中QLabel之间的空格

    我将一些具有不同颜色的 QLabels 添加到 QGridLayout 作为 QWidget 的布局 现在我在每个 Qlabel 与下一个 Qlabel 之间有一个间距 我想将其删除 我尝试将标签的边距设置为 0 将 GridLayout
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 使用 cv2 在 python 中创建多通道零垫

    我想用 cv2 opencv 包装器在 python 中创建一个多通道 mat 对象 我在网上找到了一些例子 其中 c Mat zeros 被 numpy zeros 替换 这看起来不错 但似乎没有多通道类型适合 看代码 import cv
  • 如何在 OpenCV 中将 Float Mat 写入文件

    我有一个矩阵 Mat B 480 640 CV 32FC1 包含浮点值 我想将此矩阵写入一个可以打开的文件Notepad https en wikipedia org wiki Windows Notepad or 微软Word https
  • OpenCV Python RTSP 流

    我想使用 RTSP 从 IP 摄像机流式传输视频 但我有一个问题 我已经安装了先决条件 而且我的 RTSP 链接可以在 VlC 播放器上运行 但是当我在编辑器中尝试并运行它时 它说找不到相机 这是我的代码 import cv2 import
  • 使用 OpenCV 和 Python 叠加两个图像而不丢失颜色强度

    如何叠加两个图像而不损失两个图像的颜色强度 我有图像1和图像2 2 我尝试使用 0 5 alpha 和 beta 但它给我的合并图像的颜色强度只有一半 dst cv2 addWeighted img1 0 5 img2 0 5 0 但是当我
  • OpenCV 读取视频文件时内存不足

    此示例从文件中读取视频cv2 VideoCapture在 python OpenCV 中内存不足 import cv2 cap cv2 VideoCapture file mp4 while True ret frame cap read
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • Opencv 运动检测与跟踪

    我需要在网络摄像头的视频帧中进行强大的运动检测和跟踪 背景总是一样的 目的是识别物体的位置 如果可能的话没有阴影 但并不急于去除阴影 我已经尝试过用于背景减法和阈值化的opencv算法 但这仅取决于一个图像作为背景 如果背景的亮度 或相机自
  • 在 Python 中使用音频流 RTMP 通过管道和 OpenCV 到 FFmpeg

    我正在尝试使用音频流式传输 FFmpeg 我将在下面展示我的代码 导入模块 import subprocess as sp 创建变量 rtmpUrl rtmp a rtmp youtube com live2 key camera path
  • python openCV 中的人口普查变换

    我开始在一个与立体视觉相关的项目中使用 openCV 和 python 我找到了关于使用 openCV 在 C 中进行人口普查转换的文档页面 link http docs opencv org 3 1 0 d2 d7f namespacec
  • 了解 Qt3D 创建的网格

    我创建了一个 Qt3D 网格 如下所示 Qt3DCore QEntity newEntity new Qt3DCore QEntity Qt3DExtras QConeMesh mesh new Qt3DExtras QConeMesh m
  • 从凸点获取角点

    我编写了算法来提取图像中显示的点 它们形成凸形 我知道它们的顺序 如何从这些点中提取角点 顶部 3 个和底部 3 个 我正在使用opencv 如果你已经有了物体的凸包 并且该包包含角点 那么你需要做的就是简化包直到它只有 6 个点 有很多方
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • 如何平滑循环列向量

    这是一个 OpenCV2 问题 我有一个矩阵代表closed空间曲线 cv Mat
  • 如何将 Opencv VideoWriter 与 GStreamer 结合使用?

    我正在尝试使用 Opencv VideoWriter 传输 h264 流 以使用 VideoCapture 将其传输到网络上的另一台电脑上 但是 我被困在 VideoWriter 上 执行此代码会返回错误 并且 out isOpened 始
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create

随机推荐

  • request entity too large

    1 分2中情况 1 带413 请求文件太大 不包含参数 413 Request Entity Too Large 2 不带413 请求实体太大 包含参数 文件等 客户端发送的实体主体部分比服务器能够或者希望处理的要大 request ent
  • Unity中的C#开发基础(1)

    主要记录一些和C 有区别的地方 1 把信息和反馈打印到控制台 1 Debug Log 2 Debug LogFormat Debug LogFormat Hello world add 0 and 1 firstNumber secondN
  • 安装nginx之后,处理 conf.d下无default.conf文件

    在学习nginx的过程中 安装nginx后找不到conf d目录下的default conf文件 其原因是该操作系统下的epel源是默认下载就是Fedora操作系统的 方案一 解决方法 重新进行安装nginx 并修改nginx的epel镜像
  • python实现n个学生的3门成绩总分排序,平均分

    直接上代码 解释在注释 不懂评论留言 必回 4 输入n个学生的3门成绩 分别计算n个学生的总分 每门功课的平均分 按学生的总分降序显示学生的信息 并输出每门功课的平均分 print 请输入一共多少个学生 end n int input 创建
  • Flutter 悬浮弹出效果

    最近在 Flutter 的使用中需要做一个悬浮弹窗的效果 通过查阅资料了解 Overlay 可以做出悬浮框的效果 但没有弹出效果 不符合我的预期 后来发现其实并不一定要真的悬浮 通过 showModalBouttonSheet方法和 Sta
  • JDBC的配置文件与工具类的封装

    package cn sxt login utils import java io IOException import java sql Connection import java sql DriverManager import ja
  • mybatis插入动态表名

    项目场景 项目中需要动态的选择插入的数据表名 但是在实际使用过程中总会遇到部分问题 问题描述 在xml中填写sql语句 由于表中含有月份信息 需要动态的选择表名 然而用 的方式传参 总是显示语句错误
  • 基于centOS7.5 x64/openjdk1.8/tomcat8.5/nginx1.16/nodejs/mysql8.0/redis3/git的服务器环境配置)

    基于centOS7 5 64 openjdk1 8 tomcat nginx nodejs mysql5 7 git的服务器环境配置 我以前的三年和未来的三年从事网站开发 主要手段是JAVA python nodejs 前端大套间 偶尔写写
  • qml绘制仪表盘控件

    刚开始上手qt 说实话迷得很啊 不过qt做的界面是真的漂亮 之前在b站看qt官方发布的一些视频 仪表盘煞是好看 今天倒腾了一天 用qml绘制了一个简单的汽车仪表控件 趁现在还热着 先记下来 新建一个空的qml工程 创建工程的时候要注意 工程
  • PostMan学习记录10 - 上传文件

    后台代码示例 PostMapping upload public String upload RequestParam name files required false MultipartFile files try if files n
  • 目标检测系列:Faster RCNN、FPN

    Faster RCNN FPN Faster RCNN 动机 Fast RCNN虽然对于检测的速度已经接近于达到实时 但是候选区域的提取方法依然是依赖于传统的算法例如选择性搜索 而选择性搜索在CPU上要实现一张图像的候选区域提取需要达到2秒
  • 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战 第4版 Struts 2 Spring4 Hibernate整合开发 含CD光盘1张 国家级奖项获奖作品升级版 四版累计印刷27次发行量超10万册的轻量级Java EE经典著作 李刚 编著 ISBN 978
  • 概率论【常见的五种分布】--猴博士爱讲课

    4 常见的五种分布 1 6 符合均匀分布 求概率 均匀分布U a b 2 6 符合泊松分布 求概率 泊松分布P A lambda是参数 x是某某次数 如果是这样的 千万不要用1 P X 6 这种 要一个一个算 3 6符合二项分布 求概率 4
  • 面试官,我已经掌握了MyBits,你看我还有机会吗?

    一 MyBatis 面试题 1 什么是 Mybatis 2 Mybaits 的优点 3 MyBatis 框架的缺点 4 MyBatis 框架适用场合 5 MyBatis 与 Hibernate 有哪些不同 6 和 的区别是什么 7 当实体类
  • Docker - 国内镜像的配置及使用

    开发十年 就只剩下这套Java开发体系了 gt gt gt Docker国内镜像 DaoCloud Docker加速器阿里云 开发者平台 微镜像 希云cSphere镜像广场 时速云灵雀云网易蜂巢 阿里云的Docker加速器 阿里云 开发者平
  • 对老赵写的简单性能计数器的修改

    对老赵写的简单性能计数器的修改 早上看到老赵写的这个性能计数器 感觉很实用 不过老赵用了很多 C 3 0 的新语法 还用了 VISTA 和 Server 2008 下特有的Win32 API 对于还在用C 2 0 或者还工作在 XP 或者
  • nginx启动只有master没有worker_探究Nginx的工作原理,才知道为什么这么高效!

    1 Nginx的模块 Nginx的模块从结构上分为核心模块 基础模块和第三方模块 核心模块 HTTP模块 EVENT模块和MAIL模块 基础模块 HTTP Access模块 HTTP FastCGI模块 HTTP Proxy模块和HTTP
  • 平面设计除了PS还有哪些工具推荐

    平面设计在我们的日常生活中无处不在 无论是传统媒体还是网络媒体 我们每天都会沉浸在大量的平面设计作品中 因此 我们或多或少会对设计有自己的看法 其实 即使是非专业人士 市场上也有很多平面设计软件 本文盘点了平面设计的五大软件 1 即时设计
  • Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题。

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这个问题困扰了我半天 国内百度上的资料非常的烂 根本无法解决问题 在android 4 5 版本中 scrollview 包含了一个recyclerview 滚动一切正常
  • 教你使用windeployqt工具来进行Qt的打包发布

    Qt 官方开发环境使用的动态链接库方式 在发布生成的exe程序时 需要复制一大堆 dll 如果自己去复制dll 很可能丢三落四 导致exe在别的电脑里无法正常运行 因此 Qt 官方开发环境里自带了一个工具 windeployqt exe 问