2

次のシナリオがあります。

Windows8でVisualStudio2012、opencv 2.4.1を使用しようとしています。その後、アプリを実行しようとすると、次のメッセージエラーが発生しました。

ここに画像の説明を入力してください

以前にstackoverflowでMSVCP100D.dllの欠落に関する質問があったことは知っていますが、別のことが起こります。コンピューターでdllを探すと、おそらく最初のバージョンの上位バージョンであるMSVCP110D.dllがあることに気付きます。

誰かがここで何が起こっているのか答えることができます。

4

1 に答える 1

7

Visual C++2010ランタイムがインストールされていません。Visual Studio 2012は11.0バージョンをインストールしますが、OpenCVはVisual Studio 2010でコンパイルされているため、2010ランタイム(10.0)が必要なようです。ここから入手できるはずです:http ://www.microsoft.com/en-us/download/details.aspx?id = 14632

Dバージョンを探しているので、デバッグに組み込まれていることがわかります。法的に、ランタイムライブラリはデバッグで再配布できないため、次のオプションがあります。

  • Visual Studio 2010(少なくともVC ++)をインストールして、必要なファイルを用意します。
  • OpenCVをリリースモードでコンパイルします(したがって、ランタイムのデバッグバージョンは必要ありません)。次に、vcredist100再配布可能ファイルのみをインストールする必要があります。

いずれの場合も、アプリケーションをデプロイするには、VC ++リディストの両方のバージョンを含める必要があります。アプリケーション用のバージョン11とOpenCv用のバージョン10(これは必須です)。

VisualStudio2010と12の間でバイナリをリンクできない場合があることに注意してください。

于 2012-10-26T14:51:43.260 に答える