【转】使用windeployqt.exe进行依赖查找打包
原文: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进行依赖查找打包的更多相关文章
- 将Qt 动态链接生成的exe及依赖dll打包方法
源地址:http://blog.csdn.net/ztz0223/article/details/8939341 将Qt 动态链接生成的exe及依赖dll打包方法 原文:http://www.qtcn ...
- 将Qt5.5 动态链接生成的exe及依赖dll打包方法
Qt静态编译链接生成的exe文件,不需依赖七大姑八大姨的一堆dll,可以独立运行,发布很方便.但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制.那有没有办法即能享受静态编译的方便,又不受开源 ...
- Qt--将Qt 动态链接生成的exe及依赖dll打包方法
Qt静态编译链接生成的exe文件,不需依赖dll,可以独立运行,发布很方便. 但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制. 方法之一,就是用动态编译,然后把exe和需要的dll整合成一 ...
- Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包
今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库问题 网上搜了下可以简单粗暴的用 D:\Qt\Qt5.6.0\5.6\msvc2015\bin ...
- Win7 qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包
今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库问题 网上搜了下可以简单粗暴的用 D:\Qt\Qt5.6.0\5.6\msvc2015\bin ...
- windows上的Qt 5的依赖部署打包
通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...
- 【Qt开发】Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包
Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包 今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库 ...
- 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0
//在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0//如果某字符串, 直接传入字符串进来//如果要查找16进制,则用如下格式传参进来: #$1A#$2A#$3A function F ...
- webpack对多个模块依赖进行打包
[ webpack3.0.0刚刚出来 所以文章是跟着低版本 教程 操作熟悉 结果好多对不上喔] 七:webpack对多个模块依赖进行打包 通过一刚开始我们了解到 webpack支持commonJS ...
随机推荐
- 函数指针与typedef
#include<bits/stdc++.h> using namespace std; //定义一个函数指针 typedef int (*Fun)(int,int); int add(i ...
- Intellij添加Jetty远程Debug
步骤一: 步骤二: 步骤三:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=15005 步骤四: 找到服务器上jetty的b ...
- postgresql逻辑结构--表空间(四)
一.创建表空间 1. 语法:create tablespace tablespace_name [owner user_name] location 'directory' postgres=# cr ...
- Maven 打包遇到的问题
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a ...
- GoogLeNetv2 论文研读笔记
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 原文链接 摘要 ...
- [转]Magento on Steroids – Best practice for highest performance
本文转自:https://www.mgt-commerce.com/blog/magento-on-steroids-best-practice-for-highest-performance/ Th ...
- Redis哨兵(sentinel)模式搭建
一.Sentinel介绍 之前骚了一波Redis的简介及应用场景,今天试了下他的哨兵模式: Sentinel是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成的Sentine ...
- 新版TeamTalk部署教程
新版TeamTalk部署教程 新版TeamTalk已经在2015年03月28日发布了,目前版本定为1.0.0版本,后续版本号会按照如下规则进行:1.版本规则按照x.y.z的形式进行.2.各端小bug修 ...
- Pupu(hdu3003)数论
Pupu Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 设计模式-原型(prototype)
一.概念 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 二.模式动机 当已有一个对像,暂且称之为原型对象,需要一个新的对像,该对像和已有的原型对像具有相同的类型,且里面的属性大部分 ...