缺少Visual C运行时库
Visual C Run-time libraries missing
我已经为此失眠好几天了:
我正在使用SFML创建一个应用程序,在几天前创建一个新项目之前一切都很好。在那之后,每当我试图编译使用SFML库的解决方案时,我都会遇到链接器错误和丢失的DLL文件。
我环顾四周,发现了一个名为dependencywalker的程序,它可以查看程序依赖于哪些DLL文件。显然,我的程序可执行文件丢失了一些本应在windows目录中的DLL文件。
我有点害怕,然后发现它们都有前缀"CRT"和后缀"nothing"或"D",这意味着它们是Visual C运行时库DLL的。
即使我的电脑没有丢失重要的DLL,我仍然需要解决这个问题。不,在出现问题之前,我的电脑没有重大的硬件/软件更改(我没有防病毒软件,只是相信我的直觉,我已经5年没有出现问题了),是的,我确信我正在按照教程正确设置SFML目录。
我试着为我的VS版本重新安装和修复VS和可再发行的VC(这是windesktop的2012express),试着干净引导,windows自我文件检查(sfc/scannow),还试着手动将DLL放入依赖性助行器说我丢失的目录中。
其他人以前遇到过这种情况吗?你是怎么解决的?
*有趣的是:我可以访问学校网络上的一个管理员帐户,并在那里的计算机上安装VS,看看问题是否会再次出现。由于这些机器上的windows目录从未被修改,VS执行得很好。可能是我需要把窗户安装干净吗?
我不确定OP是否被允许在自己的线程上回答(或者是否有时间限制),但这里是:
我冷静地看了之后,解决了我的问题。我重新检查了我的SFML库的版本,不确定它们是64位还是32位,所以我重新下载了与我的VS版本兼容的32位版本(因为我的调试编译器设置为在32位上运行)。这将我得到的错误从缺少MSVCP140D.dll改为MSVCO120D.dll(数字根据体系结构对应)。
我在谷歌上搜索了一段时间,想知道我需要一个名为MSVCR120D.dll的文件,它在system32中找到,但在SysWoW64中没有。在放置了各自的体系结构DLL文件(64位用于system32,32位用于SysWow64)之后,它终于工作了!
尽管依赖walker仍然表示可执行文件缺少6-7个其他DLL文件,但该项目仍然编译并运行良好。
我希望这不是一个只适用于我的解决方案,我见过很多其他人也有同样的问题。
- Visual Studio 2017 - 调试和 Relese 配置,设置运行时库
- 程序在 Visual Studio 中停止运行时终止
- 在 Visual Studio 中构建一个没有 C/C++ 运行时的静态库
- 如何在 Visual Studio C++ 11 中运行时定义二维数组?
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 在 Visual Studio 解决方案中设置所有项目的运行时库
- Visual Studio Platform 工具集和运行时库
- Visual C 运行时:Malloc将指针返回到已经使用的内存(包含实际字符串)
- 如何在运行时打开控制台 [C++/Visual Studio]
- 在流体中更改 .fl 文件在使用 Visual Studio 运行时不会更改 UI
- Microsoft Visual C++ 2015 运行时无法完成安装
- 在Visual Studio上运行时程序速度变慢
- 使用 FFMPEG 将每个输入图像转换为 H264 编译时出错,该图像在 MevisLab 中运行的 Visual St
- c ++,Visual Studio express得到奇怪的运行时前错误
- 在Visual Studio C 调试模式中捕获异常的最佳方法仅在从IDE运行时才会发生
- Microsoft Visual C 可再发行组件包和运行时包之间有什么区别
- visual在源代码中是否有预定义的#define或其他方式来了解它是为C++/CX Windows运行时编译的
- 运行时检查失败#2-S,Visual Studio C++
- Visual Studio 在编译 32 位时尝试使用 64 位 C 运行时库
- Visual Studio 2012中的运行时不匹配