Подтвердить что ты не робот

Отсутствует VS2012 MSVCR120D.dll

Я пытаюсь настроить свой проект в VS2012 для успешной компиляции и запуска кода OSG для отладки. Я также использую библиотеки отладки OSG. Компиляция и соединение заканчиваются успешно, но после запуска двоичного файла я получаю сообщение об ошибке MSVCR120D.dll.

Я искал решение этой ошибки целый день, и это не имеет смысла для меня, потому что я использую VS2012, который должен использовать MSVCR110D.dll. У меня также нет этой DLL в   C:\Windows\System32, там только MSVCR120.dll и его более старые версии.

Если я попытаюсь скомпилировать проект в режиме выпуска с помощью non-debug osg-библиотек, все будет в порядке, и я могу нормально запустить проект без ошибок.

Ссылаясь на этот вопрос, я пытался играть с настройками 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;
}

Вот скриншоты настроек моего проекта, которые вызывают ошибку:

Общие настройки проекта Подменю генерации кода C/С++

4b9b3361

Ответ 1

По крайней мере одна из библиотек, которые вы используете, скомпилирована с использованием VC12 (2013), поэтому либо перекомпилируйте их (вы можете увидеть, какая библиотека скомпилирована на VC12, используя Dependency Walker или установите распространяемые дистрибутивы MSVC 2013 здесь