MSVCP100D.dll is missing (OpenCV) Visual Studio 2013

MSVCP100D.dll is missing (OpenCV) Visual Studio 2013

本文关键字:Visual Studio 2013 OpenCV dll is missing MSVCP100D      更新时间:2023-10-16

所以,在Visual Studio 2013中,我创建了一个使用OpenCV的程序。但是当我要编译程序时,有一个错误,MSVCP100D.dll缺失。我在调试版本中编译它,我不想在发布版本中编译程序,所以我需要这个文件

我试图安装Microsoft Visual c++ 2010可重新分发包,但它已经在我的计算机上了。我是否应该下载单个文件(MSVCP100D.dll)并将其粘贴在C:windowssystem32?因为在那里我可以找到MSVCP100.dll文件,但没有MSVCP100D.dll文件。

我也看了关于这个问题的相关问题,但是没有帮助。

编辑:现在MSVCP110D.dll也不见了。同样的错误,但现在MSVCP110D.dll文件

在Visual Studio 2010中编译了一些代码。在Visual Studio 2013中重新编译代码,以摆脱MSVCP100D.dll依赖(将其替换为MSVCP120D.dll)。

解决方案(为我工作):在您的Visual Studio项目属性中,在Linker>General>附加库目录下,使用$(OPENCV_DIR)x64vc12lib(对于您的系统,这可能会根据您是否使用x86或x64版本而更改)。然后程序就可以运行了。至少它对我有用:)

解释:我在相同版本的OpenCV和vs上遇到了同样的问题。经过大量的研究,我发现问题可能是 OpenCV的预构建二进制文件与Visual Studio 2013不兼容。

@盛江的回答帮助了我。我使用依赖项行走器,发现opencv_core2410d.dll依赖于MSVCP100D.dll,因为我使用的opencv库是使用Visual Studio 2010(放置在vc10文件夹中)编译的,MSVCP100D.dll与Visual Studio 2010相关联。

一种选择是用Visual Studio 2013重新编译OpenCV代码(如上面的答案所建议的)。但这是不必要的,因为OpenCV 2.4.10已经提供了使用Visual Studio 2013构建的预构建库。这些预构建的库位于C:opencvbuildx64vc12文件夹中(具体路径可能因您的机器而异)。

下面是vc10、vc11和vc12库的重要性。选择与所使用的Visual Studio版本相对应的文件夹。我的错误是选择了vc10而不是vc12。