c++ - VS2012 MSVCR120D.dll 丢失

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

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

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

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

引用 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

最佳答案

您正在使用的库中至少有一个是使用 VC12(2013) 编译的,因此请重新编译它们(您可以使用 Dependency Walker 查看哪个库是在 VC12 上编译的,或者安装 MSVC 2013 可再发行组件 download from here

关于c++ - VS2012 MSVCR120D.dll 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23114427/

相关文章:

c++ - 在一个非常简单的程序中检测到内存泄漏。该怎么办?

visual-studio - 如果 Visual Studio 2012/2013 中的项目/解决方案中缺少文件,则报告错误/警告

c - 编译动态库时消除对 MinGW 特定 DLL 的依赖

c++ - 在纯 C++ dll 中捕获由 MFC 应用程序生成的 Windows 消息

c++ - 什么 CMake 变量用于在 XCode 中设置 C++ 标准库?

c++ - 获取未初始化对象成员的地址是否定义明确?

c++ - 如何让我的圈子用键移动

c++ - 如何保存和恢复hdc?

将一对插入映射 vector 时出现 C++ 错误

java - 如何从 native 代码/在 dll 中嵌入 jar 调用 java 方法