VS2012 MSVCR120D.dll丢失

时间:2014-04-16 15:56:50

标签: c++ visual-studio-2012 dll openscenegraph

我正在尝试在VS2012中设置我的项目以成功编译并运行OSG代码以进行调试。我也在使用OSG调试库。编译和链接成功结束但在运行二进制文件后,我收到一条错误消息,指出MSVCR120D.dll缺失。

我一整天都在寻找这个错误的解决方案,这对我来说没有意义,因为我使用的VS2012应该使用MSVCR110D.dll。我也没有这个dll  C:\Windows\System32,只有MSVCR120.dll及其旧版本。

如果我尝试使用非调试 osg库在发布模式下编译项目,一切都很好,我可以正常运行项目而不会出错。

参考this问题,我尝试使用MFCRuntime Library设置,但只有发布库可以使用。

我需要使用调试库运行它,因为我想使用不适用于发行库的Visual Leak Detector。这是我正在使用的代码的一部分(OSG库使用相同的VS2012进行编译)。

#include "stdafx.h"
#include <windows.h>

// osg libs
#include <osgViewer/Viewer>

int main(int argc, char **argv) {
  osgViewer::Viewer viewer;
  while (!viewer.done()) {
    viewer.frame();
  }
  return 0;
}

以下是导致错误的项目设置的屏幕截图:

General settings of project C/C++ Code Generation submenu

1 个答案:

答案 0 :(得分:11)

您使用的库中至少有一个是使用VC12(2013)编译的,因此要么重新编译它们(您可能会看到使用Dependency Walker在VC12上编译哪个库,或者安装MSVC 2013可再发行组件{{3} }