运行程序遇到 “由于找不到 xxx.dll,无法继续执行代码”
问题
在运行
.exe
程序时弹出"由于找不到 xxx.dll,无法继续执行代码"
的错误,导致程序无法执行
原因
缺少必要的运行库文件,安装该
.dll
运行库文件即可
解决
在网上自行下载缺少的
.dll
文件,直接搜"xxx.dll"
下载即可(因为每个人缺少的运行库各不相同,无法提供统一的 DLL 文件,但是这些文件在网上都是可以下载到的)我这里提供一个下载
.dll
文件的网站:免费下载缺失的 DLL 文件 | DLL‑files.com
通常来说,这样的 .dll
库文件我们需要下载两个,一个是 32 位的,一个是 64 位的
我这里就以图片中所缺少的 ucrtbased.dll
为例:
在搜索框中搜索
ucrtbased.dll
- 往下翻,找到这个位置:
有的
.dll
文件会有特别多的版本,不需要管,只需要看好架构(Architecture
)即可
Architecture 64
代表 64 位,Architecture 32
代表 32 位
- 将
ucrtbased.dll
的 64 位和 32 位文件各下载一个,版本(Version
)随意,通常越新的版本越好
注意:
一定要留意下载到本地的时候哪一个压缩包是 32 位的,哪一个压缩包是 64 位的,不要搞混了
解压后,我这里以文件夹的命名来区分 32 位和 64 位,实际你下载的时候两个文件命名是相同的
- 首先了解一点基础知识:
在 64 位 的 Windows 系统中
- 放置 32 位 DLL 文件的默认路径为:
C:\Windows\SysWOW64\
- 放置 64 位 DLL 文件的默认路径为:
C:\Windows\System32\
将 ucrtbased_32 文件夹
内的 ucrtbased.dll
复制到 C:\Windows\SysWOW64\
路径下
将 ucrtbased_64 文件夹
内的 ucrtbased.dll
复制到 C:\Windows\System32\
路径下
- 再次运行报错的
.exe
文件,观察问题是否解决
如果只是缺少 ucrtbased.dll
这一个 DLL 库文件,那么到此为止,程序基本就已经可以正常运行了
例如我再次打开刚刚报错的 exe 程序如下图:
如果依然提示缺少其他的 DLL 文件,继续按此教程依次下载其他缺失的 DLL 文件即可
如果上述操作都试过了,但 exe 程序仍然无法运行
可能是因为 DLL 文件虽然复制到了目录下,但是并未注册,可以自行搜索注册 DLL 文件的教程,例如:如何注册dll文件-百度经验
因为我没有遇到过,我按照上述操作就已经成功解决问题,所以无法提供教程,但是不排除有的人会遇到这种问题