1. 关于 vcredist 与 Qt 程序部署:你该知道的一切
当软件提示"缺少 MSVCP140.dll"时,不是系统坏了,而是少了一个"电源适配器"。
在日常开发或使用 Windows 软件的过程中,很多人(甚至包括不少开发者)都曾被"缺少xxx.dll"的错误提示困扰过。这篇文章将深入解析 vcredist 与 Qt 程序部署的关系,帮助你彻底理解并解决这类问题。
1.1 vcredist 到底是什么?
vcredist 是 Microsoft Visual C++ Redistributable 的简称,它是 Windows 上 C++ 程序运行的基础环境。许多软件(包括游戏、驱动工具、设计软件等)都依赖于微软提供的这些公共库文件才能正常运行。
1.1.1 运行库的类比理解
- 软件 = 一台游戏机
- vcredist = 游戏机的电源线或电池
- 缺少它 → 无法开机(程序无法运行)
1.1.2 何时需要安装 vcredist
- 安装某些游戏或软件时,安装程序会自动安装对应版本的 vcredist
- 运行软件时出现"缺少 MSVCP***.dll"之类的错误,需要手动安装
- 作为开发者,发布 C++ 或 Qt 程序时,需要确保目标环境已安装
1.2 常见错误与对应版本(速查表)
| 缺失的 DLL 文件 | 对应的 vcredist 版本 | Visual Studio 版本 |
|---|---|---|
MSVCP120.dll |
Visual C++ 2013 | VS 2013 |
MSVCP140.dll |
Visual C++ 2015-2022 | VS 2015 / 2017 / 2019 / 2022 |
MSVCP140.dll从 VS 2015 开始一直沿用并保持兼容,一个"2015-2022 Redistributable"就能覆盖后面所有版本。
1.3 vcredist 应该如何选择?
1.3.1 选择逻辑(由易到难)
-
看错误提示中的数字
缺少120→ 装 2013 版;缺少140→ 装 2015-2022 版。 -
看系统位数
- 32 位系统只能装 x86
