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. 使用HTML完成一个最low的页面

    1 <body> 2 <div style="background: burlywood"> 3 <h1 style="text-align ...

  2. 生活中有苦难却没有人可以倾述?来看看AI树洞吧!

    本文由 ChatMoney团队出品 介绍说明 在如今繁忙喧嚣的世界中,我们时常渴望能有一个安全且私密的空间,让我们毫无顾忌地袒露心声.AI 智能体树洞便是这样一个独特的存在. 它并非传统意义上的树洞, ...

  3. 手把手 Flexbox——从零开始的奶奶级 Web 开发教程3

    上一篇讲了盒子模型,今天我们要涉及的主题是 Flexbox. 先来点顾名思义,Flex,折叠:box,盒子.可以折叠的盒子,也称作弹性盒子,就是可以根据可用的空间进行缩放的网页元素. 既然是盒子,那么 ...

  4. 6月23日直播预告丨如何自定义Flink LookupTable

    ​ 数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实 ...

  5. 被老板怼后,我为uni-app项目引入环境标志

    前情 最近公司在规划一个全新项目,但是又对项目前景有些怀疑,于是想做一个项目获客验证的运营活动,就是为了决定后续项目可行性和投入规模. 注:时间都宝贵,如果不想浪费时间看一些无聊的事情原委的,只想了解 ...

  6. MySQL的三大日志

    前言 飞机失事靠黑匣子还原真相,MySQL崩溃靠三大日志保障数据安全. 作为一个工作多年的程序员,我见过太多因日志配置不当引发的灾难:数据丢失.主从同步中断.事务回滚失败... 今天,我将用最通俗的方 ...

  7. spring中常见的注解 autowired

    简介 spring中常见的注解 autowired 简单概括就是 自动注入 autowired 默认按照类型去容器中查找 如果找到多个相同类型的组件,再将属性名作为组件的id去容器中查找 猜测: 将抽 ...

  8. 随机现象之Quanlitative+Quantitative研究: 样本空间的“分割”•随机事件(结果集)的“分布”•样本空间事件域(可测度性, 集合运算封闭性)

    数量化: Quantitative: Qulifying the uncertainty of phenomenon: 抽取 现象的集合模型(判定是否随机性.是否可大量重复试验,样本空间及其样本点); ...

  9. 20212109实验一《python程序设计》实验报告

    20212109实验一<python程序设计>实验报告 # 20212109 2022-2022-2<Python程序设计>实验一报告课程:<Python程序设计> ...

  10. elasticsearch-sql-for-druid

    介绍 elasticsearh-sql 6.7.1 版本对新版本druid 1.2.5+版本支持,原始版本不支持新版本的druid,因后续版本的druid底层类库改动较大. 软件架构 问题记录 貌似兼 ...