qt发布release版本时需要打包一些dll,需要哪些呢?请看截图

在qt的安装包下找到这些文件,放在release文件夹下即可,当然有些时候也会需要一些其他的,比如含有串口的程序还需要加入Qt5SerialPort.dll,但这个时候就可以尝试运行一下,会具体提示缺少哪一个文件,找到后再加入就好。

在qt的安装包下会有两个目录包含以上文件,D:\Qt\Qt5.5.1\5.5\mingw492_32\bin以及D:\Qt\Qt5.5.1\Tools\QtCreator\bin,最好使用前者目录下的文件,切记千万不要两个目录下的文件混合使用,会报错无”法定位程序输入点于动态链接库Qt5Core.dll “。

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,

如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。

因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。

以官方 Qt 5.4.0+MinGW 开发环境为例,

从开始菜单--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Qt 5.4 for Desktop (MinGW 4.9 32 bit),可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。

集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:

Qt Widgets Application 和 Qt Quick Application。

下面分别介绍这两类exe 的发布方式。

1、Qt Widgets Application可执行程序发布方式

首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。

然后以 Release 方式编译生成 exe 程序:

生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:

C:\QtPros\hellomw\

它的项目生成目录是

C:\QtPros\build-hellomw-Desktop_Qt_5_4_0_MinGW_32bit-Release\

进入这个文件夹,在进入它的子文件夹 release 里面,找到 hellomw.exe ,

将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到

D:\hellomw\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,输入命令 :

cd /d D:\hellomw

然后使用 windeployqt 工具命令:

windeployqt
hellomw.exe

然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。

2、Qt Quick Application发布方式
首先用 QtCreator 新建一个 Qt Quick Application 项目,直接用默认的项目模版,点击下一步生成项目,项目名字假定是 helloqml。
然后以 Release 方式编译生成 exe 程序:

然后找到项目的构建目录,比如项目源码目录 C:\QtPros\helloqml,

它的构建目录是:

C:\QtPros\build-helloqml-Desktop_Qt_5_4_0_MinGW_32bit-Release\

进入这个目录,再进入 release 子文件夹,找到 helloqml.exe ,

复制到一个新的单独的文件夹里面,比如 D:\helloqml\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,进入D:\helloqml\文件夹:

cd /d D:\helloqml

然后使用 windeployqt 工具命令:

windeployqt
helloqml.exe --qmldir C:\Qt\Qt5.4.0\5.4\mingw491_32\qml

上面是最简单的程序发布,实际复杂程序可能还带一些图片文件、数据库文件、配置文件之类的,可以按自己需要添加这些文件到发布文件夹里面。

QT windeployqt的更多相关文章

  1. Qt使用自带的windeployqt 生成exe来发布软件

    集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application  和 Qt Quick Application.下面分别介绍这两类exe ...

  2. 【转】Qt使用自带的windeployqt 生成exe来发布软件

    集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application  和 Qt Quick Application.下面分别介绍这两类exe ...

  3. Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行.因此 Qt 官方开发环境里自带了一个 ...

  4. Qt打包部署程序自动查找依赖DLL工具windeployqt

    qt编译好一个exe程序之后,部署到一台没有开发环境的机器上,需要一起拷贝其依赖的dll文件.这时需要一个windeployqt工具来帮忙,因为手动拷贝的话容易遗漏. https://blog.csd ...

  5. Qt程序打包发布方法(使用官方提供的windeployqt工具)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...

  6. Qt官方开发环境生成的exe发布方式--使用windeployqt

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行.因此 Qt 官方开发环境里自带了一个 ...

  7. Qt使用自带的windeployqt 查找生成exe 必需的库文件

    集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application  和 Qt Quick Application.下面分别介绍这两类exe ...

  8. windeployqt.exe 发布windows下qt产生的exe程序

    以官方 Qt 5.4.0+MinGW 开发环境为例,从开始菜单-->Qt 5.4.0-->5.4-->MinGW 4.9 (32-bit)-->Qt 5.4 for Deskt ...

  9. 使用windeployqt工具来进行Qt的打包发布

    https://blog.csdn.net/sinat_36264666/article/details/73305712

随机推荐

  1. 安装Cnario Player 3.8.1.156或其他版本时提示"Warning 4154. Adobe Flash Player 13 ...not correctly installed"

    错误提示 安装Cnario Player 3.8.1.156或其他版本时, 有时会出现如下提示: Warning 4154. Adobe Flash Player 13 ...not correctl ...

  2. WEB工具类

    import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; ...

  3. CSS3旋转缩放移动倾斜等效果——transform

    1.transform浏览器支持情况 也就是说目前不考虑老浏览器的话是不用加前缀的,感谢菜鸟教程:https://www.runoob.com/cssref/css3-pr-transform.htm ...

  4. $_SERVER['HTTP_REFERER']的使用

    转载:http://www.5idev.com/p-php_server_http_referer.shtml 使用 $_SERVER['HTTP_REFERER'] 将很容易得到链接到当前页面的前一 ...

  5. 排序—时间复杂度为O(n2)的三种排序算法

    1 如何评价.分析一个排序算法? 很多语言.数据库都已经封装了关于排序算法的实现代码.所以我们学习排序算法目的更多的不是为了去实现这些代码,而是灵活的应用这些算法和解决更为复杂的问题,所以更重要的是学 ...

  6. Python——pyqt5——消息框(QMessageBox)

    一.提供的类型 QMessageBox.information 信息框 QMessageBox.question 问答框 QMessageBox.warning 警告 QMessageBox.ctit ...

  7. python 迭代器、生成器、枚举的使用

    迭代器 器:包含了多个值的容器 迭代:循环反馈(一次从容器中取出一个值) 迭代器:从装有多个值的容器中一次取出一个值给外界 遍历:被遍历的对象必须是有序容器 ls = [1, 2, 3, 4, 5] ...

  8. bugku web 头等舱

    什么也没有. 不行,他肯定把重要的东西隐藏了起来,首先查看源代码 真的什么也没有 burp抓包,看是不是在头部里,嘿嘿找到了

  9. java8list排序

    https://blog.csdn.net/york_2016/article/details/80169467

  10. docker-lnmp dockerfile

    code: FROM php:7.1.26-fpm WORKDIR /usr/share/nginx/html # bcmath pdo_mysql intl gd zip opcache xdebu ...