一、作用

将Qt软件打包发布成绿色exe,在任意非Qt环境下运行

二、找到我们软件所依赖动态库

使用Qt的windeployqt.exe(在Qt安装目录的bin下面找)--!

1、新建文件夹,在里面放入:发布版的exe执行文件;在bin下面复制的windeployqt.exe;新建txt文件,后缀改为bat(脚本)

2、编辑脚本:windeployqt myApp.exe

3、双击脚本

4、此时会在此文件夹里生出这个软件所需要的所有动态库和依赖项;此时还不够,再在Qt bin下面找到文件夹:bearer、iconengines、platforms三个文件夹(此时或许在其他电脑上会依然缺少一些dll,在bin里找就行了)

三、使用打包enigma软件打包

经过上面可以得到一个文件夹,结构如下图

1、打开enigma,选择上面release下的exe

2、将所有文件夹和动态库拖进文件区

拖入文件夹时会有个窗口弹出,确定即可

3、选择文件选项,勾选压缩文件

4、点击执行封包,等待完成。然后会在文件夹里找到封装完成的exe,此时这个exe已经可以在非Qt环境下运行

ps:

1、上述打包成的exe可能会比较大,是因为含有不需要的动态库和文件,参考https://www.cnblogs.com/judes/p/7081245.html可去除不必要的文件,最后生成的exe大概在10M左右

2、上述是针对于纯Qt开发环境【QtCreator】打包;如果是Vs+Qt使用此方法会出现奇怪的现象【明明是release的exe,生成的dll全是debug的,所以dll找到全对不上】;如果是Vs+Qt,可以打开Qt自己的命令行工具

来手动输入windeployqt myApp.exe,然后再打包

Qt发布程序的更多相关文章

  1. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  2. Qt for Mac:发布程序(widgets和quick2)

    当你用Qt开发好程序后,是不是会很期待将你的成果分享给你的小伙伴 可是Qt的库并不是OS X标配的,所以我们要自己去复制库到app包里,才可以让app在其他未安装Qt的电脑上运行. 比较幸运的是,Qt ...

  3. 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...

  4. Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)

    最近一直在学习Qt,用Qt写了一个程序,但是不知道怎么发布,网上说的都是在windows下怎么发布Qt应用程序,但是,在windows下Qt应用程序依赖的库文件与linux下的名字不同.于是,我就想到 ...

  5. QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法

    QT编译发布程序后报错如缺少dll.“应用程序无法正常启动(0xc000007b)”的可能解决方法 最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误 ...

  6. Qt之程序发布以及打包成exe安装包

    一.简述 Qt项目开发完成之后,需要打包发布程序,而因为用户电脑上没有Qt配置环境,所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中,然后再用 Inno Setup打包工 ...

  7. QT如何发布程序

    QT如何发布程序转载 http://blog.csdn.net/iw1210/article/details/51253458

  8. 【Qt开发】Qt应用程序发布封装

    问题:在使用Qt5.3.2编写程序并release,文件夹中已经添加了必要的dll,但在其他机子上运行程序失败,出现了下面的情况: 解决方法一:在C:\Qt\Qt5.3.2\5.3中进入mingw48 ...

  9. Qt应用程序的发布

    1 Windows平台上的应用程序发布 Windows发布工具 windeployqt.exe是Qt自带的Windows平台发布工具.windeployqt.exe文件在Qt的bin目录下,Qt的每一 ...

随机推荐

  1. 001windows已遇到一个关键性问题 一分钟后自动重启

    重装了系统Window7,出现了如题的提示"windows已遇到一个关键性问题 一分钟后自动重启" 查找原因: 通过事件管理器可以查看如上提示遇到的问题.一般是因为一些系统的服务没 ...

  2. hadoop之WordCount源代码分析

    //近期在研究hadoop.第一个想要要開始研究的必然是wordcount程序了.看了<hadoop应用开发实战解说>结合自己的理解,对wordcount的源代码进行分析. <pre ...

  3. 用ActivatedRoute获取url中的参数

    突然让我用ActivatedRoute import {Injectable} from "@angular/core"; import {ActivatedRoute} from ...

  4. 创建一个Material Design应用过程

    创建一个使用Material主题的应用 1.这里需要先搭建一个应用的运行环境 创建一个AVD: 然后运行这个AVD. 2.创建应用 其中的Min SDK和Target SDK 都选择了L Preive ...

  5. WPF命令绑定 自定义命令

    WPF的命令系统是wpf中新增加的内容,在以往的winfom中并没有.为什么要增加命令这一块内容.在winform里面的没有命令只使用事件的话也可以实现程序员希望实现的功能.这个问题在很多文章中都提到 ...

  6. 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析(2)

    聚类概念: 聚类:简单地说就是把相似的东西分到一组.同 Classification (分类)不同,分类应属于监督学习.而在聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到 ...

  7. Java的版本历史与特性

    一个比较流行的问题是,“Java下一个版本会有什么特性呢?” .这是否是个好问题却有待商榷.在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在 ...

  8. 160823、ionic上拉/下拉更新数据

    <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF- ...

  9. <2013 08 20> -----澳大利亚博士研究生申请-----

    1.澳大利亚昆士兰大学博士的申请一年中什么时间都可以,但奖学金的评选每年只有四轮.和美国不同的是,在提交申请材料之前,个人必须联系好愿意接收你的导师,这个可以自己套磁联系,也可以和那边学院的小秘联系, ...

  10. <mvc:view-controller path=""/>标签的作用

    <mvc:view-controller path=""/>标签的作用 对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到.需要通过转发的方式, ...