Debug版本程序依赖的dll文件很大,主要因为是debug版本程序中包含了调试信息,可以用来调试。而真正要发布程序时要使用release版本,这样可以减少发布程序的体积同时增加软件的安全。

1、先使用Release编译运行

2、 找到Release编译运行之后,并将.exe文件单独复制到一个新的文件中

3、在文件夹中右键点击,选择在终端中打开,如果没有该选项,则需要cd到所在路径;

4、用Qt自带的生成必备的dll文件的程序windeployqt,来把必要的动态库拷到该文件夹中,键入windeployqt.exe的绝对路径,留个空格.

注意:如果发布的应用是Qt Quick Application应用,那么命令行需要加上QML的安装目录。命令中的D:\ruanjian\Qt\position\5.15.2\msvc2019_64\qml是qml的安装目录,请换成你自己的qml安装目录!!!!!

windeployqt ReconnaissanceSeat.exe --qmldir D:\ruanjian\Qt\position\5.15.2\msvc2019_64\qml --no-patchqt

在打包完成后,还有可能出现运行后显示不全的问题,这是由于某些动态库没有完整拷贝进去,这时候可以在编译出来的.pro文件中添加 CONFIG +=console 这句就可以正常显示调试输出窗口了。

发现Qt.labs.platform模块没有加载成功。就将QT安装目录下qml相应模块手动拷贝到打包目录下相应的位置

将该目录下的labs赋值下面,替换上面exe所在打包文件下qt文件夹下的labs

这样就完成了,双击该文件夹下的exe可运行,如果将其放在另一个电脑中,还出现缺少msvcp140.dll等动态库问题,则是因为对方电脑没有vs(或VC)运行环境,请参考另一个文献如何在windows下发布QT应用程序(qt项目打包) - taohuaxiaochunfeng - 博客园

注:若程序中使用了png以外格式的图片,则发布程序时就要将Qt安装目录下的plugins目标中的imageformats文件夹复制到发布程序文件夹中,其中只要保留自己用到的文件格式的dll文件即可。例如用到了gif文件,那么只需要保留qgif.dll。

如果程序中使用了其他的模块,比如数据库,那么就要将plugins目录中的sqldrivers文件夹复制过来

【QML】qt打包qml程序的更多相关文章

  1. Qt 打包发布程序

    利用Qt Creator写好程序,选择对应的编译器编译程序. 编译完成会在项目同级目录生成对应的目录来保存编译后的输出. 打包程序就要选择Qt自带的CMD工具,分别有下面几种. 比如,打包VS2017 ...

  2. Qt打包部署程序自动查找依赖DLL工具windeployqt

    qt编译好一个exe程序之后,部署到一台没有开发环境的机器上,需要一起拷贝其依赖的dll文件.这时需要一个windeployqt工具来帮忙,因为手动拷贝的话容易遗漏. https://blog.csd ...

  3. Qt Quick QMl学习笔记 之图片浏览器

    Qt Quick模块是编写QML应用程序的标准库.虽然Qt QML模块提供QML引擎和语言基础结构,但Qt Quick模块提供了使用QML创建用户界面所需的所有基本类型.它提供了一个可视画布,包括用于 ...

  4. 树莓派.Qt.打包开发好的程序并运行的方法

    Qt开发的软件, 想要部署在树莓派上运行, 需要进行打包和发布 主要步骤如下: 1. 找1个树莓派用于开发与打包, 所以需要在它上面安装Qt开发环境 树莓派上安装Qt的方法, 可以看这里>> ...

  5. 怎样用QT在windows环境通过编程卸载installShield打包的程序

    通常情况下,如果是一个完备的软件,我们可以通过启动软件的uninstaller.exe之类的程序来完成卸载.但是使用installShield打包的程序,本身可能并不含有这类卸载程序.此时,我们可以通 ...

  6. Qt打包过大

    经常看到网上有些论调说 Qt 程序无比庞大,甚至拿 .NET 程序来比,说 Qt 程序打包以后跟 .NET 安装包差不多大.由此影响了很多人对 Qt 的选择.我觉得有必要对此做一些澄清—— 显然这个说 ...

  7. QML Object Attributes QML对象属性

    QML Object Attributes Every QML object type has a defined set of attributes. Each instance of an obj ...

  8. pyinstaller打包.py程序为.exe操作指南

    pyinstaller打包.py程序为.exe操作指南 20190526内容纲要: 1.pyinstaller安装 2.程序封装 3.可执行程序 0 前言 今天第一次试试将一个py程序封装成一个.ex ...

  9. ubuntu 交叉编译qt 5.7 程序到 arm 开发板

    ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ...

  10. QT 打包exe

    QT打包主要方法: 1.把无措的代码进行Release编译 2.在运行完后,找到运行后生成的目录,以下是我的文件,名为result,运行类型有两种,一种是Debug,另一种是Release,我们需要的 ...

随机推荐

  1. Libnetwork底层原理以及Docker网络实现

    1.CNM CNM (Container Network Model) 是 Docker 发布的容器网络标准,意在规范和指定容器网络发展标准,CNM 抽象了容器的网络接口 ,使得只要满足 CNM 接口 ...

  2. P5749 [IOI2019] 排列鞋子

    算是一种新思路吧. 题目要求我们求最少的对调次数,想到了什么?求逆序对个数,我们只需将原来的 \(S_i\) 数组转化一下,求其逆序对个数即可. 转化规则为:从头开始,对于每个还未被赋值的 \(S_i ...

  3. 大模型VS小模型:论国产数据库运维AI Agent的正确打开方式

    作者:孙鹏,大衍(北京)科技有限公司研发工程师 首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 "老纪的技术唠嗑局",会持续更新和 #数据库.#AI.#技术架构 相 ...

  4. DRF之排序类源码分析

    DRF之排序类源码分析 [一]排序类介绍 在Django REST framework (DRF)中,排序类用于处理API端点的排序操作,允许客户端请求按特定字段对数据进行升序或降序排序. 排序类是一 ...

  5. 开源 vGPU 方案 HAMi: core&memory 隔离测试

    本文主要对开源的 vGPU 方案 HAMi 的 GPU Core&Memory 隔离功能进行测试. 省流: HAMi vGPU 方案提供的 Core&Memory 隔离基本符合预期: ...

  6. C# 中 const 和 readonly 关键字的区别和用法

    前言 今天我们一起来讲讲 C# 中 const 和 readonly 关键字的区别和用法. const 和 readonly 关键字区别 基本介绍 const(常量): 在C#中用于声明编译时常量,其 ...

  7. listmap根据某字段进行合并

    public List<Map<String, Object>> mergeResult(List<Map<String, Object>> m1, L ...

  8. MySQL与Oracle中的基本分页

    MySQL中的基本分页: select ename from emp where xxxxx order by sal  desc limit (pageno-1)*pageSize,pageSize ...

  9. sublime user 配置

    { "font_size": 14, "tab_size": 4, "translate_tabs_to_spaces": true, &q ...

  10. 日事清|管理驾驶舱,公司高管、PM必备观察工具

    场景介绍 01:一键切换「驾驶舱」高管视图 ● 驾驶舱适配办公室大屏.项目例会投屏展示.管理层统一回顾等场景: ● 每分钟自动更新数据,确保您看到的永远是最新的进度与状态: ● 今日在线人数.本周完成 ...