VS2012でプロジェクトをセットアップして、デバッグ用のOSGコードを正常にコンパイルおよび実行しようとしています。 OSGデバッグライブラリも使用しています。コンパイルとリンクは正常に終了しますが、バイナリを実行した後、MSVCR120D.dll
が見つからないというエラーが表示されます。
私はMSVCR110D.dll
を使用するVS2012を使用しているため、このエラーの解決策を丸1日探していましたが、意味がありません。また、このDLLはC:\Windows\System32
にありません。MSVCR120.dll
とその古いバージョンしかありません。
non-debugosgライブラリを使用してリリースモードでプロジェクトをコンパイルしようとすると、すべてが正常であり、通常はエラーなしでプロジェクトを実行できます。
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;
}
エラーの原因となっている私のプロジェクトの設定のスクリーンショットは次のとおりです。
使用しているライブラリの少なくとも1つはVC12(2013)を使用してコンパイルされているため、再コンパイルします( Dependency Walker を使用してVC12でコンパイルされているライブラリを確認するか、MSVC 2013再頒布可能パッケージをインストールします ここからダウンロード