如何在windows下发布QT应用程序(qt项目打包)
1、简述
在Qt的使用过程中,我们会发现Qt的的执行文件在Qt的IDE中是可以直接Build出来并执行产生效果的,但是如果直接在编译文件夹下找到该执行文件运行或是要提供给第三方人员使用的时候,执行文件却不能直接使用,会有各式各样的库文件缺失等问题,以下是Qt在Windows环境下的执行文件打包流程。
2、流程
找到qt安装目录中编辑器bin下的windepolyqt.exe的可执行文件,这是一个官方提供的应用部署工具,可以很方便的将所有应用程序需要的库、qml等包含进应用目录下,基本用法如下:
1、将你的QTy应用从Release或Debug中拷出来到单独的一个文件夹,务必将你在程序中调用的自己写的DLL文件一并拷过去;
2、Ctrl+R 打开运行,输入CMD,打开命令行;
3、键入windeployqt.exe的绝对路径,留个空格,键入你拷贝的应用程序的目录,然后确认就可以了。
D:\ruanjiananzhuang\Qt\anzhuangweizhi\5.14.2\msvc2017_64\bin\windeployqt.exe D:\Qt\3.26\taishi\build-taishi-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\debug\taishi.exe


结果图:

3、 qt打包发布程序,解决找不到msvcp140.dll等动态库问题

MSVC编译器编写的程序就会遇到以上VC运行库缺失的问题。
也就是说,在打包的过程中,只是把Qt的相关动态库部署好了,但是VS (或者VC)的运行环境并没有部署。
所以为了杜绝隐患,应该重视这两个警告。那么如何解决呢
解决方案就是添加一个VS的环境变量。
首先,找到VS的安装目录,比如我的是默认安装在C盘。复制路径C:\Program Files\Microsoft Visual Studio\2022\Community\VC
打开环境变量,添加一个系统变量,变量名为VCINSTALLDIR,变量值为C:\Program Files\Microsoft Visual Studio\2022\Community\VC


然后重新打开Qt的命令行,执行
D:\ruanjiananzhuang\Qt\anzhuangweizhi\5.14.2\msvc2017_64\bin\windeployqt.exe D:\Qt\3.26\taishi\build-taishi-Desktop_Qt_5_14_2_MSVC2017_64bit-Debug\debug\taishi.exe
输出里增加了一些VC的动态库。这就说明,我们打包的同时,已经把VC的环境带上了。
4、打包时找不到ucrbased.dll
ucrtbased.dll是一个动态链接库(DLL)文件,它是Microsoft Universal C Runtime Library的一部分,是Windows操作系统中不可或缺的关键组件。
现在一下路径下查找ucrbased.dll文件是否存在。
C:\\Windows\System32\是否存在,如果有,直接复制该文件到原来的打包文件中即可。
如果不存在,则需要网上下载最新版本即可,这里就不介绍怎么下载了。
如何在windows下发布QT应用程序(qt项目打包)的更多相关文章
- 解析 Qt 程序在Windows 下发布
原文请看:http://www.cnblogs.com/elect-fans/archive/2012/03/15/2408579.html Qt 程序在Windows下发布是本文要介绍的内容,不多说 ...
- # 如何在Windows下运行Linux程序
如何在Windows下运行Linux程序 一.搭建 Linux 环境 1.1 安装 VMware Workstation https://www.aliyundrive.com/s/TvuMyFdTs ...
- 【实用】如何在windows下快速截图?
如何在windows下快速截图? 快速截图是很多人的需求.截图的工具和方案也很多,但是,这里给出一个通用的,被大众认为最高效的一个解决方案. 我们都知道键盘上有一个"prt sc" ...
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...
- [b0010] windows 下 eclipse 开发 hdfs程序样例 (二)
目的: 学习windows 开发hadoop程序的配置 相关: [b0007] windows 下 eclipse 开发 hdfs程序样例 环境: 基于以下环境配置好后. [b0008] Window ...
- windows下调用外部exe程序 SHELLEXECUTEINFO
本文主要介绍两种在windows下调用外部exe程序的方法: 1.使用SHELLEXECUTEINFO 和 ShellExecuteEx SHELLEXECUTEINFO 结构体的定义如下: type ...
- 如何在windows下安装GIT
如何在windows下安装GIT 分步阅读 Git是一个免费的.开源的版本控制软件.在Windows上安装git,一般为msysgit,官方下载地址为 http://code.google.com/p ...
- 如何在WINDOWS下编译BOOST C++库 .
如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25 写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0. 1)下载boost ...
- [转]Linux/Windows下脚本对拍程序
[新]简单写法 (转载自:https://blog.csdn.net/ylsoi/article/details/79824655) 要求:文件输入输出,且输入输出文件需要对应 Linux: #inc ...
- 如何在Windows下查看JAVA端口占用情况(阿里面试)
如需要确定谁占用了9050端口 为例: 1.Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议 本地地址 外部地址 状态 ...
随机推荐
- 浅谈commons-collections4链
浅谈commons-collections4链 commons-collections4的背景: 由于commons-collections (3.x) 在架构设计和 API 上暴露出一些问题(例如接 ...
- Go语言new和make的区别
一.简单说明 方法 作用 作用对象 返回值 new 分配内存 值类型和用户定义的类型 初始化为零值,返回指针 make 分配内存 内置引用类型(map,slice,channel) 初始化为零值,返回 ...
- UniApp前端+Java后端技术栈 解析微信支付功能的设计实现与关键实践
感觉本篇对你有帮助可以关注一下我的微信公众号(深入浅出谈java) 会不定期更新知识!!! 一.概述 在移动互联网时代,支付功能已成为应用开发的核心能力之一.本文将以 UniApp前端+Java后端技 ...
- php 读取文件,批量构造sql语句写入数据库
需求读取文件,构造sql,批量写入数据库,批量是构建设置 $num 值的大小进行批量构建sql语句 test.txt 文件内容为 1 2 3 4 5 6 7 8 9 10 <?php class ...
- SAP扩展库位
SAP扩充库位有两个方式:1,物料主数据里.2,MMSC. MMSC可以针对物料和工厂批量扩展.一般是业务常用的. FORM locat_dbc USING p_material p_plant p_ ...
- FastAPI权限缓存:你的性能瓶颈是否藏在这只“看不见的手”里?
title: FastAPI权限缓存:你的性能瓶颈是否藏在这只"看不见的手"里? date: 2025/06/23 05:27:13 updated: 2025/06/23 05: ...
- C23和C++26的#embed嵌入资源指南
c++26最近刚敲定标准,新增了许多重量级特性. 不过目前能实际上手测试的特性不多,毕竟标准刚刚确定,比较大的变更里只有"资源嵌入"或者用标准文档里英文名"resourc ...
- C2065错误
简介 应该是编译器出现了问题 有的时候 我加入注释就会报错.贼烦人.算了 还是用英文写注释没毛病. 其实核心解决方案 https://blog.csdn.net/weixin_43975504/art ...
- AppLink对51Tracking的集成方式
什么是51Tracking 51Tracking是一个提供国际物流跟踪服务的平台,用户可以通过该平台跟踪包裹在全球范围内的物流信息.该平台提供多家物流公司的跟踪服务,帮助用户更方便地了解包裹的运输情况 ...
- Product-Mechanics: 金属机械加工(都有全自动的机床): 冲压+弯折+钣金+喷涂 | Plasma Cutting/Melting Machine(等离子切割/焊接机)
精密机械有限公司拥有: 精密自动数控车床.精密高速冲床.自动高速冷锻打头机.精密CNC数控铣床. 慢/快走丝线切割.精密磨床.铣床.摇臂钻床等精密加工生产设备. 目前的主要产品以及服务有以下几个板块: ...