原文:https://blog.csdn.net/u011822862/article/details/52166940

Qt 官方开发环境使用的动态链接库方式,在发布生成的可执行程序时,需要复制可执行程序的依赖库,如果自己去复制依赖库,可能会遗漏,导致可执行程序在别的电脑里无法正常运行,因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe,用以进行依赖库的查找,已经可执行程序的打包。
执行方式是在Qt for Desktop 中执行windeployqt.exe命令进行打包。
集成开发环境 QtCreator 目前生成图形界面程序大致可以分为两类:Qt Widgets Application 和 Qt Quick Application,下面分别介绍这两类exe 的发布方式。

1、Qt Widgets Application

1)首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 TestQt,然后以 Release 方式编译生成可执行程序。
    2)生成的程序运行正常之后,找到项目的生成目录,比如项目源码路径:C:\QtProject\TestQt\,进入它的项目生成目录,拷贝出可执行程序,例如放置在 D:\TestQt 中。
    3)然后从开始菜单打开 Qt 命令行,输入命令 :cd /d D:\TestQt 进入目录,然后使用 windeployqt 工具命令:windeployqt TestQt.exe,之后就可以看见windeployqt 工具自动复制的插件文件夹
和 dll文件、qm文件。这时候得到的就完整的可执行程序发布集合,依赖关系都解决好了。

4)之后通过其他的打包方式,或者使用Qt的install进行打包,即可生成单一可执行程序用于安装发布。

2、Qt Quick Application

新建方式和生成Widgets程序相同,只是在查找依赖的时候不同,需要使用命令windeployqt TestQt.exe --qmldir 指定qml目录,进行复制依赖,之后打包方式也相同。

【转】使用windeployqt.exe进行依赖查找打包的更多相关文章

  1. 将Qt 动态链接生成的exe及依赖dll打包方法

    源地址:http://blog.csdn.net/ztz0223/article/details/8939341 将Qt 动态链接生成的exe及依赖dll打包方法 原文:http://www.qtcn ...

  2. 将Qt5.5 动态链接生成的exe及依赖dll打包方法

    Qt静态编译链接生成的exe文件,不需依赖七大姑八大姨的一堆dll,可以独立运行,发布很方便.但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制.那有没有办法即能享受静态编译的方便,又不受开源 ...

  3. Qt--将Qt 动态链接生成的exe及依赖dll打包方法

    Qt静态编译链接生成的exe文件,不需依赖dll,可以独立运行,发布很方便. 但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制. 方法之一,就是用动态编译,然后把exe和需要的dll整合成一 ...

  4. Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包

    今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库问题 网上搜了下可以简单粗暴的用 D:\Qt\Qt5.6.0\5.6\msvc2015\bin ...

  5. Win7 qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包

    今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库问题 网上搜了下可以简单粗暴的用 D:\Qt\Qt5.6.0\5.6\msvc2015\bin ...

  6. windows上的Qt 5的依赖部署打包

    通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...

  7. 【Qt开发】Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包

    Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包 今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库 ...

  8. 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0

    //在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0//如果某字符串, 直接传入字符串进来//如果要查找16进制,则用如下格式传参进来: #$1A#$2A#$3A function F ...

  9. webpack对多个模块依赖进行打包

    [ webpack3.0.0刚刚出来  所以文章是跟着低版本 教程 操作熟悉  结果好多对不上喔] 七:webpack对多个模块依赖进行打包 通过一刚开始我们了解到 webpack支持commonJS ...

随机推荐

  1. 自测 基础 js 脚本。

    <html> <head> <script> //function(<text>a{[]}lert('x')</text>)() docum ...

  2. Chrome 开发工具之Timeline/Performance

    之前有说到Element,Console,Sources大多运用于debug,Network可用于debug和查看性能,今天的主角Timeline(现已更名Performance)更多的是用在性能优化 ...

  3. The case for learned index structures

    17年的旧文,最近因为SageDB论文而重读. 文章主要思路是通过学习key的顺序.结构等来预测record在位置.存在与否等.效果方面,据称部分场景下,相对b-tree可以优化70%的内存占用. 最 ...

  4. ThreadPoolExecutor参数讲解

    1. 线程池可以节省创建多个线程带来的开销问题. 2. 线程池的参数如下: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSiz ...

  5. WebMagic之爬虫监控

    访问我的博客 前言 年前闲着无聊,研究了一阵子爬虫技术,接触到爬虫框架 WebMagic,感觉很好用. 在之后的工作中,接手了新站与第三方接口对接的工作,主要的工作是去抓取对方接口的内容:初始的时候, ...

  6. BEA-290074 <Deployment service servlet received file download request for file "security/SerializedSystemIni.dat". The file may exist, but download of this file is not allowed.>

    Bug 19766239 - WLS 12.1.3 - MS NOT STARTING - 'DOWNLOAD OF THIS FILE IS NOT ALLOWED' Issue is fixed ...

  7. UIKit 框架之UIActionSheet

    UIAlertView和UIActionSheet相似,区别很小, 很容易理解. // // ViewController.m // UIActionSheet // // Created by Ci ...

  8. What is AMQP? and the architecture

    What is AMQP? (Advanced Message Queuing Protocol) When two applications need to communicate there ar ...

  9. Netty 源码剖析之 unSafe.read 方法

    目录: NioSocketChannel$NioSocketChannelUnsafe 的 read 方法 首先看 ByteBufAllocator 再看 RecvByteBufAllocator.H ...

  10. Autofac和nopcommerce中的Autofac, 还有反射

    随笔分类 - Ioc Ioc容器Autofac系列(3)-- 三种注册组件的方式 摘要: 简单来说,所谓注册组件,就是注册类并映射为接口,然后根据接口获取对应类,Autofac将被注册的类称为组件. ...