当前位置: 首页 > news >正文

关于 vcredist 与 Qt 程序部署:你该知道的一切

以下是根据我们的对话整理的技术博客文档,采用 Markdown 格式,兼顾技术深度与阅读体验,适合存档或分享。

关于 vcredist 与 Qt 程序部署:你该知道的一切

当软件提示“缺少 MSVCP140.dll”时,不是系统坏了,而是少了一个“电源适配器”。

在日常开发或使用 Windows 软件的过程中,很多人(甚至包括不少开发者)都曾被“缺少xxx.dll”的错误提示困扰过。这篇文章记录了我与一位开发者关于vcredistDLL 缺失以及Qt 程序部署的完整问答过程,希望能帮你彻底搞懂这一系列问题。


一、vcredist 到底是什么?

vcredistMicrosoft Visual C++ Redistributable的简称。

你可以把它理解为 Windows 上 C++ 程序的“底层运行环境”。很多软件(游戏、驱动工具、设计软件)都不是“凭空运行”的,它们依赖一些微软提供的公共库文件。

一个类比

  • 软件 = 一台游戏机
  • vcredist = 游戏机的电源线电池
  • 缺少它 → 无法开机(程序无法运行)

什么时候需要它?

  • 安装某些游戏或软件时,安装程序会自动安装对应版本的 vcredist
  • 运行软件时出现“缺少 MSVCP***.dll”之类的错误,需要手动安装
  • 作为开发者,你发布 C++ 或 Qt 程序时,需要确保目标环境已安装

二、常见错误与对应版本(速查表)

缺失的 DLL 文件对应的 vcredist 版本Visual Studio 版本
MSVCP120.dllVisual C++ 2013VS 2013
MSVCP140.dllVisual C++ 2015–2022VS 2015 / 2017 / 2019 / 2022

MSVCP140.dll从 VS 2015 开始一直沿用并保持兼容,一个“2015–2022 Redistributable”就能覆盖后面所有版本。


三、vcredist 应该如何选择?

选择逻辑(由易到难)

  1. 看错误提示中的数字
    缺少120→ 装 2013 版;缺少140→ 装 2015–2022 版。

  2. 看系统位数

    • 32 位系统只能装 x86
    • 64 位系统建议x86 和 x64 都装(很多 32 位程序也需要 32 位运行库)
  3. 终极偷懒法
    去微软官网搜索“The latest supported Visual C++ downloads”,把 2005 到 2022 的所有版本(x86/x64)全部装一遍
    它们之间不会冲突,且能覆盖 99% 的缺失问题。

官方下载链接

版本官方链接
VC++ 2013https://www.microsoft.com/zh-cn/download/details.aspx?id=40784
VC++ 2015–2022https://aka.ms/vs/17/release/vc_redist.x64.exe

四、我打包的 Qt 程序,在别人电脑上报“缺少 DLL”,怎么办?

这是一个非常经典的问题,尤其对于刚接触 Qt 部署的开发者。

根本原因

你的 Qt 程序(用 MSVC 编译)需要两套支撑系统

  1. Qt 自己的库Qt5Core.dllQt5Widgets.dll
  2. 微软 C++ 运行库MSVCP140.dllVCRUNTIME140.dll

你在别人电脑上只复制了 Qt 的 DLL,但忘了带微软的那一套

解决方案(三选一,推荐度从高到低)

✅ 方案一:在目标电脑安装 vcredist(最标准)

把对应的 VC++ Redistributable 安装包发给对方,让他以管理员身份运行。

  • 优点:符合规范,有安全更新,一劳永逸
  • 缺点:需要对方有管理员权限
✅ 方案二:直接复制 DLL 到 exe 目录(免安装)

从你的开发环境中找到以下文件,复制到 exe 同级目录:

msvcp140.dll
vcruntime140.dll
vcruntime140_1.dll (如果用了较新的 C++ 特性)
concrt140.dll (如果用了并发库)

  • 优点:无需安装,适合无管理员权限环境
  • 缺点:每个程序都要带一份,占用空间
✅ 方案三:使用 Qt 自带的windeployqt工具

在你打包时执行:

windeployqt.exe your_program_name.exe

这个工具会自动分析你的程序,并把缺少的 Qt DLL 和部分 VC++ DLL 复制过来。

⚠️ 注意:windeployqt有时不会复制全部 VC++ 运行库文件,建议执行完后再按方案二手动检查一遍。建议还是使用方案一


五、懒人福音

有ALL IN ONE 包,而且非常推荐给普通用户或不想折腾的人。下载运行安装包,等待全部装完,重启电脑即可

通过网盘分享的文件:VisualCppRedist_AIO_x86_x64.exe 链接: https://pan.baidu.com/s/15y2wsI_GZrgqcDN_kKQmsg?pwd=f3qc 提取码: f3qc 复制这段内容后打开百度网盘手机App,操作更方便哦

微软运行库合集

  • 覆盖版本:VC++ 2005 / 2008 / 2010 / 2012 / 2013 / 2015–2022
  • 同时包含:x86 + x64
  • 作用:一次性解决所有“缺少 xxx.dll”的问题

如何使用

  1. 搜索关键词“微软运行库合集”“DirectX修复工具”
  2. 建议从腾讯云、阿里云开发者社区或正规软件站下载(避免来历不明的“高速下载器”)
  3. 以管理员身份运行,点“下一步”即可
  4. 安装完成后重启电脑

合集包里的所有组件都来自微软官方,和你手动一个一个装的效果完全一样,不会对系统造成伤害。


六、如何自己找到最新的官方下载链接?

授人以渔,不如授人以渔。
记住微软官方的这个发布页面,以后直接去这里找最新链接:

👉 https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist

页面上会列出从 2015 年到当前所有受支持的 VC++ Redistributable 版本。


七、写在最后

DLL 缺失不是“系统坏了”,也不是“中毒了”,它只是一个再普通不过的环境依赖问题

  • 如果你是普通用户:装一个运行库合集,一劳永逸
  • 如果你是开发者:发布程序时,记得把 VC++ 运行库一起带上,或者在说明里提醒用户安装

希望这篇文章能帮你节省未来排查此类问题的时间。如果还有其他疑问,欢迎继续交流。

参考:
https://juejin.cn/post/7626273552454582318

http://www.jsqmd.com/news/615909/

相关文章:

  • AI 入门 30 天挑战 - Day 6 费曼学习法版 - 模型评估和优化
  • 2026年一站式GEO优化软件系统企业服务优势大揭秘,快来一探究竟!
  • 将盾CDN:网络空间测绘构建数字化时代的安全底图
  • 【Tailwind】侧边栏标题
  • 小组国内汽车销量分析 数据表清洗与处理部分
  • 2026年4月目前有名的分析仪厂商推荐分析,金属检测仪/合金分析仪/手持矿石元素分析仪,分析仪公司推荐分析 - 品牌推荐师
  • SVN更新提交等图标消失恢复
  • Python如何实现定时异步任务_结合asyncio与loop.call_later调用
  • OpenClaw错误处理大全:Qwen3.5-9B任务失败时的10种自修复方案
  • 2026年成都新郎西装定制品牌排行:商务装定制/四川西装定制/婚礼服装定制/定制方巾/定制衬衫/定制西装上衣/定制西裤/选择指南 - 优质品牌商家
  • 在JUNIPER MX960中查询流量的策略
  • 2026年4月互联网SoC芯片选型指南:多功能加密芯片、安全加密芯片、防复制芯片、防抄板芯片、互联网SoC芯片选择指南 - 优质品牌商家
  • 2026 安全生产精选:五款巡检软件实用清单,隐患排查与闭环管理轻松上手
  • 论文写作工具对比:从多工具切换到一站式工具的真实体验
  • 粘尘机厂家选择:企业采购核心选型标准深度解析
  • PHP 8.9命名空间增强深度解析(RFC #8721官方未公开的6个实战陷阱)
  • 《彩虹鱼》× ICPS 社会能力 —— 3岁男孩专属阅读指南
  • 高活性钛粉防燃防爆粉碎设备选型方案
  • Spring Boot 4.0 Agent-Ready架构的7个隐秘陷阱:90%团队在第4步就触发JVM元空间泄漏
  • **发散创新:用Julia实现高性能科学计算的矩阵分解实战与可视化分析**在现代科学计算领域,**高效、易用、可扩
  • Docker 容器中运行 AI CLI 工具:用户隔离与持久化卷实战指南酉
  • WarcraftHelper终极指南:如何让经典魔兽争霸III在现代电脑上完美运行
  • 我用 LocalClaw 记忆系统管理项目知识:上下文永不丢失,问一句就能找到任何历史决策
  • 【紧急预警】PHP+AI开发流水线正在失效!48小时内必须部署的3层动态校验机制(含SAST+运行时+语义一致性检测)
  • C++中关于时间的小结
  • JBoltAI:工业SOP数智化转型的得力助手
  • RP2040 PIO驱动WS2812:纳秒级时序的NeoPixel库
  • Windows安卓应用运行新方案:轻量级安卓环境搭建与实践指南
  • golang如何理解值类型和引用类型_golang值类型与引用类型区别详解
  • 2026年果汁码垛机选型指南:饮料装箱机、饮料输送线、果汁包装机、果汁装箱机、果汁输送线、热收缩膜包装机、瓶装水包装机选择指南 - 优质品牌商家