QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了。

QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一份,放在软件的目录里面。

参考官方文档:http://doc.qt.io/qt-5/windows-deployment.html#application-dependencies

具体使用步骤如下:

1.添加qt的bin/目录进系统path变量。很简单,在系统属性里设置,添加D:\QT\QT5.4.1mingw\5.4\mingw491_32\bin;(分号不能掉)到系统path环境变量(不会添加环境变量问度娘)

第二部,在任意目录新建文件夹,把编译完成后的Calc.exe可执行程序拷贝过去。从命令行模式进入该文件夹,执行语句windeployqt Calc.exe. 之后该工具会分析程序依赖性,自动添加必要dll文件至该目录。运行时命令行提示如下:

D:\e>windeployqt Calc.exe
D:\e\Calc.exe 32 bit, release executab
Adding Qt5Svg for qsvgicon.dll
Direct dependencies: Qt5Core Qt5Gui Qt
All dependencies   : Qt5Core Qt5Gui Qt
To be deployed     : Qt5Core Qt5Gui Qt
Updating icuin53.dll.
Updating icuuc53.dll.
Updating icudt53.dll.
Updating Qt5Core.dll.
Updating Qt5Gui.dll.
Updating Qt5Svg.dll.
Updating Qt5Widgets.dll.
Creating directory iconengines.
Updating qsvgicon.dll.
Creating directory imageformats.
Updating qdds.dll.
Updating qgif.dll.
Updating qicns.dll.
Updating qico.dll.
Updating qjp2.dll.
Updating qjpeg.dll.
Updating qmng.dll.
Updating qsvg.dll.
Updating qtga.dll.
Updating qtiff.dll.
Updating qwbmp.dll.
Updating qwebp.dll.
Creating directory platforms.
Updating qwindows.dll.
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_de.qm...
Creating qt_fi.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...D:\e>

这样必要的库文件就自动添加完毕.

2.一般情况下,还是会少一两个.dll 用depends软件检测一下,看看还缺什么?

找到除了API-MS的包,在D:\QT\QT5.4.1mingw\5.4\mingw491_32\bin目录里面复制到软件的根目录。

3.前两步下来,dll彻底找完了,现在就该轮到打包工具 EnigmaVirtual Box

在“Enter Input File Name”一栏指定Qt编译生成的 *.exe 文件,同时在“EnterOutput File Name”一栏会自动生成打包后输出文件的路径和文件名称。(请无视中间的广告!)

点击左下方的“Add…”按钮,添加所有的依赖链接库文件;然后点击右下方的“FilesOptions”,在弹出的对话框里选中“Enable Files Virtualization”和“CompressFiles”两项;“OK”后返回点击“Process”并等待小伙伴干完该干的活。

在“Enter Input File Name”一栏指定Qt编译生成的 *.exe 文件,同时在“EnterOutput File Name”一栏会自动生成打包后输出文件的路径和文件名称。(请无视中间的广告!)

点击左下方的“Add…”按钮,添加所有的依赖链接库文件;然后点击右下方的“FilesOptions”,在弹出的对话框里选中“Enable Files Virtualization”和“CompressFiles”两项;“OK”后返回点击“Process”并等待小伙伴干完该干的活。

这样你就成功了。


Qt5.4  主要依赖链接库说明

1.QT模块库

1

2

3

4

Qt5Core.dll      #QT核心库

Qt5Gui.dll       #QT Gui库

Qt5Widgets.dll   #QT Widgets库,QT 5中GUI程序基本都需要此dll

#还有其他程序用到的Qt5XXX.dll

2.ICU依赖库

(International Component for Unicode,Unicode工具)

1

2

3

icudt51.dll

icuin51.dll

icuuc51.dll

3.QT插件库(新增库,路径必须正确)

1

2

3

4

5

6

# 根据不同的程序,需要不同的插件库

#例如 QT_DIR/plugins/*/*.dll

# 需要将 platforms/*.dll,accessible/*.dll的文件结构保留

# 放在你所编译的程序所在目录

plugins/platforms/qwindows.dll

plugins/accessible/qtaccessiblewidgets.dll

4.EGL依赖库,为OpenGL,OpenGL es提供接口

1

2

libEGL.dll

libGLESv2.dll

5.mingw依赖库(msvc编译则无需这些库)

1

2

3

libgcc_s_dw2-1.dll

libstdc++-6.dll

libwinpthread-1.dll

6.VC运行库(mingw编译则无需这些库)

1

2

msvcr110.dll(对应VS2012)

msvcp110.dll

最后发一张程序的效果图,附带上程序和源代码的下载链接:http://pan.baidu.com/s/1dD1y8wh 密码:oa9h

转载于:https://www.cnblogs.com/Zengineer/p/4614613.html

QT5.4 计算器程序 打包发布,解决dll的最新解决方案相关推荐

  1. QT5开发的程序打包发布

    一.开发平台 QT5开发的程序打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 自己用的QT版本是 我的电脑系统是WIn10专业版的. 二.介绍一下打包 ...

  2. QT的程序打包发布(将QT5的工程项目打包成一个可直接运行的exe程序)

    Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:https://blog.csdn.net/lxj434368832/article/details/80814388 Qt 官 ...

  3. Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)

    若该文为原创文章,未经允许不得转载 原博主博客地址:长沙红胖子Qt的博客_CSDN博客-Qt开发,图形图像处理,OpenCV图像处理领域博主 原博主博客导航:红胖子网络科技博文大全:开发技术集合(包含 ...

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

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

  5. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布

    Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...

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

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

  7. qt调用linux 进程,Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u014746574/article/d ...

  8. Qt6程序打包(如何解决Qt程序在其他电脑上无法运行的问题)

    Qt6程序打包(如何解决Qt程序在其他电脑上无法运行的问题) 简单来说就是将Qt程序用release方式编译运行,然后用Qt自带的windeployqt工具生成对应依赖的dll文件,最后用Enigma ...

  9. 学习笔记:Qt程序打包发布

    目录 前言 步骤 前言 使用qt开发自动化测试软件,一般是先在自己的办公电脑上写,后续再发给测试机运行,需要使用Qt程序打包生成exe程序.有两种方法:"Qt Widgets Applica ...

最新文章

  1. 数据建模学习笔记-2-《高质量数据库建模 2-建模流程》
  2. vue实现pdf导出,解决生成canvas模糊等问题
  3. nmap 扫描常见漏洞
  4. python从字典里搜索_Python:在字典中搜索字典的函数
  5. 计算机网络技术课程代码02141模拟试题,02141计算机网络技术201510真题及答案
  6. Android App 的主角:Activity
  7. 2021爱智先行者—(2)零基础APP开发实例
  8. windows 系统更新 WSUS的安装与部属
  9. 中红外传感器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. 西南科技大学计算机专业宿舍条件怎么样,西南科技大学宿舍条件,宿舍环境图片(10篇)...
  11. ZendFramework多模块配置
  12. 如何把图纸转换为t3格式_天正cad转t3格式
  13. matlab转换为函数表达式,matlab中将符号表达式转换为函数
  14. Python基础刷题,期末不挂科~~~(已完结)
  15. 小宝精灵-智能语音遥控伴侣(套装版)测评-遥控器的语音时代
  16. Java标准I/O流编程一览笔录
  17. 新颖的_基于web的毕业设计题目50例
  18. 会java 学c_先学Java再学c会简单点吗?
  19. idea中不显示代码下边的下划线
  20. python中fp是什么意思_详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3)...

热门文章

  1. JMETER之察看结果树(只显示报错请求)
  2. 基于大数据的数据仓库
  3. 高校科研管理系统设计与实现小程序-计算机毕业设计
  4. 密码学:c/c 语言实现 pdf,典型密码算法C语言实现pdf
  5. mysql2008和mysql2000_[转载]SQL 2008到2005和2000版本的转换
  6. ejb 3 开发快速入门 2 建立EJB工程
  7. ai作文批改_AI能批改英语作文了 专业度堪比高考阅卷老师 可自动批改雅思、四六级英语作文...
  8. matlab安装 runtime错,Win7安装Matlab7.0出错Runtime Error怎么办?
  9. 激光雕刻机图片解析C#上位机stm32f407控制板源码
  10. 睿智融科完成上市辅导:无缘科创板后转向创业板,华兴资本押错注