1. ホーム
  2. c++

[解決済み] MSVCP120d.dll が見つからない

2022-03-07 02:09:43

質問

Visual Studioプロジェクトをコンパイルするたびに、MSVCP120d.dllが見つからないというメッセージが表示されます。Googleは私を助けることができません。すでにいくつかの再配布可能ファイルをインストールしましたが、役に立ちませんでした。私はまたこれを見つけた。

Msvcp120d.dll C++ランタイムのデバッグバージョンです。再配布不可 を使用することができます。

http://msdn.microsoft.com/en-us/library/windows/hardware/dn448963(v=vs.85).aspx

解決方法は?

コメントから、Visual Studio 2012でコンパイルしたプロジェクトに、Visual Studio 2013でビルドしたDLLを使用したことが原因であることがわかりました。原因は、サードパーティのライブラリが、DLLを含むフォルダーにvc11, vc12という名前を付けていたことです。コンパイラのバージョン(4桁以下)を使用するシステムでは、Visual Studioのバージョンと一致しないため、注意が必要です(Visual Studio 2010を除く)。

  • vc8 = Visual Studio 2005
  • vc9 = Visual Studio 2008
  • vc10 = Visual Studio 2010
  • vc11 = Visual Studio 2012
  • vc12 = Visual Studio 2013
  • vc14 = Visual Studio 2015
  • vc15 = Visual Studio 2017
  • vc16 = Visual Studio 2019

Microsoft C++ランタイムDLLは、Visual Studioのバージョンではなく、コンパイラのバージョンに基づいて、2桁または3桁のコードを使用します。

  • MSVCP80.DLL は Visual Studio 2005 のものです。
  • MSVCP90.DLLはVisual Studio 2008のものです。
  • MSVCP100.DLLはVisual Studio 2010のものです。
  • MSVCP110.DLLはVisual Studio 2012のものです。
  • MSVCP120.DLLはVisual Studio 2013のものです。
  • MSVCP140.DLL は Visual Studio 2015、2017、2019 より

Visual Studio 2015、2017、2019の間でバイナリ互換性があります。