专题指南

提示找不到 xxx.dll / 计算机中丢失 xxx.dll 怎么解决

Windows 11 / 10更新于

简短回答

“计算机中丢失 xxx.dll”说明程序依赖的组件不存在或损坏。正确的做法是安装或修复提供这个 DLL 的组件(VC++ 运行库、DirectX、软件本身),而不是从网上单独下载 DLL 文件。先看 DLL 名字判断属于哪个组件,再对应处理。

按 DLL 名称判断来源

DLL 名称 来自 处理
msvcp140、vcruntime140、msvcr120 等 VC++ 运行库 安装 VC++ 运行库
d3dx9_xx、d3dcompiler_43、xinput1_3、xaudio2_7 DirectX 旧组件 安装 DirectX 运行时
mfc140u、mfc100 VC++ 的 MFC 组件 安装对应年份的 VC++ 运行库
steam_api64.dll Steam 游戏组件 验证游戏文件;被杀毒软件删除时加白名单后恢复
openal32、physxloader OpenAL / PhysX 组件 安装 OpenAL 或 NVIDIA PhysX 系统软件
软件自己的 dll(名称包含软件名) 软件本身 修复或重新安装该软件

通用处理步骤

  1. 查看杀毒软件的隔离区,DLL 被误删时恢复并添加信任。
  2. 修复或重新安装出错的软件。
  3. 安装对应的运行库,重启电脑。
  4. 系统 DLL(如 System32 中的文件)损坏时,以管理员身份运行 sfc /scannow,见 SFC 和 DISM 修复系统。

相关错误代码

  • 0xc0000135:找不到所需的 DLL
  • 错误 126:找不到指定的模块
  • 0xc000007b:32 位和 64 位 DLL 混用
  • 0xc0000142:DLL 初始化失败

提示:网上的单独 DLL 下载站风险很高:版本不匹配会导致 0xc000007b,部分站点还会捆绑木马。

常见问题

DLL 文件放在哪里?
由安装程序决定。手动复制 DLL 到 System32 是常见的错误做法,容易引起新问题。
regsvr32 注册 DLL 有用吗?
只对 COM 组件(ocx、部分 dll)有效,运行库类 DLL 不需要注册,注册也会失败。