Qt windeployqt.exe 打包qml

这篇具有很好参考价值的文章主要介绍了Qt windeployqt.exe 打包qml。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt系列文章目录

前言

我们在QtCreator下面开发程序,一般都会遇到工程发布给客户使用的情况。我们通常会使用Qt自带的打包工具:windeployqt.exe。
windeployqt.exe是Qt自带的工具,用于创建应用程序发布包。
简单来说,这个工具可以自动地将某程序依赖的库、资源拷贝到其所在目录,防止程序在其他电脑上运行报找不到库的错误。
windwployqt.exe官方文档

Qt for Windows-部署

本文档描述了Windows的部署过程。我们在整个文档中参考Plug&Paint示例应用程序来演示部署过程。

Windows部署工具

Windows部署工具windeployqt旨在自动化创建可部署文件夹的过程,该文件夹包含从该文件夹运行应用程序所需的与Qt相关的依赖项(库、QML导入、插件和翻译)。它为通用Windows平台(UWP)创建一个沙盒,或为Windows桌面应用程序创建一个安装树,可以轻松地将其绑定到安装包中。

该工具可在QTDIR/bin/windeployqt中找到。它需要在构建环境中运行才能正常运行。使用Qt安装程序时,应使用脚本QTDIR/bin/qtenv2.bat来设置它。

windeployqt将.exe文件或包含.exe文件的目录作为参数,并扫描可执行文件中的依赖项。如果使用–qmldir参数传递目录,windeployqt将使用qmlimportscanner工具扫描目录中的QML文件以查找QML导入依赖项。然后将识别的依赖项复制到可执行文件的目录中。

如果Qt是在关闭configure开关relocable的情况下构建的,则windeployqt将Qt5Core.dll中的硬编码本地路径替换为相对路径。

对于Windows桌面应用程序,默认情况下,编译器所需的运行时文件也会复制到可部署文件夹中(除非指定了选项–no compiler runtime)。对于使用Microsoft Visual C++的发布版本,这些版本由Visual C++可再发行包组成,这些包旨在由应用程序的安装程序在目标计算机上递归安装。否则,将使用编译器运行时的共享库。

应用程序可能需要额外的第三方库(例如,数据库库),而windeployqt没有考虑这些库。

一、遇到的坑

1.首先在QtCreator IDE中设置工程release
Qt windeployqt.exe 打包qml

2.打包命令
我安装的是Qt5.12.9版本,打开Qt5.12.9(MSVC 2017 64-bit)
Qt windeployqt.exe 打包qml
3.
cd到的exe路径,我的路径是:E:\work\QtWebCannelAndMap-master\obj
Qt windeployqt.exe 打包qml
Qt windeployqt.exe 打包qml

4.执行打包命令
D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin\windeployqt.exe E:\work\QtWebCannelAndMap-master\obj\QtWebChannelAndMap.exe -qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml

因为我安装了Qt5.7和Qt5.12二个版本,所有我这里指定了windeployqt.exe的路径,
因为用到了qml的组件,所以特意加了一个参数指定qml的路径:-qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml

5.最重要的一点
这里一定要把qt安装目录下的qml复制到你的exe路径下
一定要把qt安装目录下的qml复制到你的exe路径下
一定要把qt安装目录下的qml复制到你的exe路径下
重要的事敲黑板,并说三遍,之前就是遗漏了这一步导致打包的exe无法运行
Qt windeployqt.exe 打包qml
Qt windeployqt.exe 打包qml

6.打包成功
执行名字:D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin\windeployqt.exe E:\work\QtWebCannelAndMap-master\obj\QtWebChannelAndMap.exe -qmldir D:\Qt\Qt5.12.9\5.12.9\msvc2017_64\qml
Qt windeployqt.exe 打包qml

生成很多依赖文件
Qt windeployqt.exe 打包qml

Qt windeployqt.exe 打包qml

二、参考

拿起键盘就是撸
龚建波文章来源地址https://www.toymoban.com/news/detail-433798.html

到了这里,关于Qt windeployqt.exe 打包qml的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Qt程序打包成安装包exe

    本章介绍把Qt开发的程序打包成安装包的方法,程序打包成install.exe,可双击安装,有默认安装路径,也可以选择安装目录,自动生成桌面快捷方式和开始菜单选项,可以在操作系统–设置–应用程序里看到,可卸载。 资源下载 需要的资源和目录结构已经打包上传,下载地址

    2023年04月09日
    浏览(23)
  • vs c++ qt 打包成exe

    1 vs2019+QT 打包项目 可执行文件exe_哔哩哔哩_bilibili 2 在开始中 找到 qt51425.14.2msvc2017_64 类似于cmd命令行 3 windeployqt.exe 添加环境变量 qt安装包搜索windeployqt.exe D:qt5.15.2winrt_x64_msvc2019bin 4 x64Release  vs调到Release x64 重新生成 5 运行 windeployqt.exe D:mainx64Releasemain_ui_download.ex

    2024年01月16日
    浏览(41)
  • Qt 把.exe打包成安装文件形式

    Qt Installer Framework 使用 官网下载链接 下载直接安装 确保自己的.exe能够正常运行,没有缺少dll文件 回到 startmenu 目录下,打开CMD终端,执行指令 脚本 程序生成脚本.bat 不出意外,正常生成安装包,双击即可安装 在 startmenuconfig 文件夹下准备3张图片 修改 startmenuconfigconfig.xml 文件 重

    2024年04月29日
    浏览(34)
  • QT如何打包生成独立可执行.exe文件

    一、将QT程序使用Release编译 二、新建一个文件夹,将Release编译生成的exe文件复制到新建文件夹中 先找到Release编译生成的exe文件夹位置,与项目创建的文件夹有关: 临时文件夹 --》 release --》 xx .exe文件 比如我的这个就是在D:QtProbuild-Serial-Desktop_Qt_5_12_9_MinGW_64_bit-Releaserele

    2024年02月08日
    浏览(35)
  • qt cmake(MSVC)打包成exe无法运行

    其中 D:DesktopQt_Giteedemodebug 就是qml文件所在的位置

    2024年04月25日
    浏览(30)
  • QT项目打包成可执行程序exe(简易版)

    完成之后Demo文件夹中会生成一些配置文件,此时DC_7已经可以直接运行了(如果想给别人使用就得将整个Demo文件夹发送给别人,比较麻烦,继续以下步骤将整个文件夹打包成一个exe) Enigma virtual box工具官方网址:Enigma virtual box(安装一直下一步就行)

    2024年02月14日
    浏览(33)
  • Qt Creator创建Python界面工程并打包为可执行exe文件

    一、QT6安装 QT6安装不是本文重点,请参考网上其他教程。 二、QT6创建Python界面工程 1.打开QT Creator,按照下面步骤创建Python界面工程。 输入工程名称pytest 输入类名:myMainWindow,基类选择QMainWindow 2.添加资源文件resources.qrc

    2024年02月08日
    浏览(42)
  • 【python】我用python写了一个可以批量查询文章质量分的小项目(纯python、flask+html、打包成exe文件)

    web 效果预览: 先去质量查询地址:https://www.csdn.net/qc 输入任意一篇文章地址进行查询,同时检查页面,在Network选项下即可看到调用的API的请求地址、请求方法、请求头、请求体等内容: 请求头里面很多参数是不需要的,我们用 ApiPost 这个软件来测试哪些是必要参数。 经过

    2024年02月13日
    浏览(25)
  • 【vim 学习系列文章 5 - cscope 过滤掉某些目录】

    上篇文章:【vim 学习系列文章 4 - vim与系统剪切板之间的交互】 下篇文章:【vim 学习系列文章 6 – vim 如何从上次退出的位置打开文件】 第一步 创建自己的 cscope 脚本 ~/.local/bin/cscope.sh ,如下: 我的这个脚本首先去区分当前执行 cscope 命令的目录是 rt-thread 目录还是 linux 目

    2024年02月12日
    浏览(71)
  • vscode 系列文章目录 - ctrl+鼠标左键无效

    vscode 中有时会遇到 “Alt + 鼠标点击” 有效,但 “Ctrl + 鼠标点击” 无效,这时可以通过 Ctrl + , 进行系统配置。 进入VScode的首选项,选择设置(快捷键 Ctrl + , ),输入Go to definition,找到如下两个设置。 Editor: Multi Cursor Modifier 设置成 alt “editor.gotoLocation.multipleDefinitions” 设置

    2024年04月23日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包