web-dev-qa-db-ja.com

VS2012 MSVCR120D.dllが欠落しています

VS2012でプロジェクトをセットアップして、デバッグ用のOSGコードを正常にコンパイルおよび実行しようとしています。 OSGデバッグライブラリも使用しています。コンパイルとリンクは正常に終了しますが、バイナリを実行した後、MSVCR120D.dllが見つからないというエラーが表示されます。

私はMSVCR110D.dllを使用するVS2012を使用しているため、このエラーの解決策を丸1日探していましたが、意味がありません。また、このDLLはC:\Windows\System32にありません。MSVCR120.dllとその古いバージョンしかありません。

non-debugosgライブラリを使用してリリースモードでプロジェクトをコンパイルしようとすると、すべてが正常であり、通常はエラーなしでプロジェクトを実行できます。

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;
}

エラーの原因となっている私のプロジェクトの設定のスクリーンショットは次のとおりです。

プロジェクトの一般設定C/C++コード生成サブメニュー

13
Kalam

使用しているライブラリの少なくとも1つはVC12(2013)を使用してコンパイルされているため、再コンパイルします( Dependency Walker を使用してVC12でコンパイルされているライブラリを確認するか、MSVC 2013再頒布可能パッケージをインストールします ここからダウンロード

13
Bruno Ferreira