我正在尝试在 VS2012 中设置我的项目以成功编译和运行 OSG 代码以进行调试。我也在使用 OSG 调试库。编译和链接成功结束,但在我运行二进制文件后,我收到一条错误消息,提示 MSVCR120D.dll
丢失。
我整天都在寻找解决此错误的方法,但对我来说没有意义,因为我使用的是应该使用 MSVCR110D.dll
的 VS2012。我也没有这个dll
C:\Windows\System32
,只有MSVCR120.dll
及其旧版本。
如果我尝试使用 non-debug osg 库在 Release模式下编译项目,一切都很好,我可以正常运行项目而不会出错。
引用 this问题我试图使用 MFC
和 Runtime 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;
}
以下是我的项目导致错误的设置截图:
最佳答案
您正在使用的库中至少有一个是使用 VC12(2013) 编译的,因此请重新编译它们(您可以使用 Dependency Walker 查看哪个库是在 VC12 上编译的,或者安装 MSVC 2013 可再发行组件 download from here
关于c++ - VS2012 MSVCR120D.dll 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23114427/