MSVCP120d.dll em falta

Sempre que quero compilar o meu projecto Visual Studio, recebo a mensagem de que MSVCP120d.dll desapareceu. O Google não me pode ajudar. Já instalei alguns redistributáveis, mas não ajudaram. Também encontrei isto.

Msvcp120d.dll depurar a versão do tempo de execução em C++. Sem redistribuição permitir.

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

Author: drescherjm, 2014-02-11

5 answers

A partir dos comentários, o problema foi causado pelo uso de dlls que foram construídos com Visual Studio 2013 em um projeto compilado com Visual Studio 2012. A razão para isso foi uma biblioteca de terceiros chamada as pastas contendo o dlls vc11, vc12. Deve-se ter cuidado com qualquer sistema que usa a versão do compilador (menos de 4 dígitos) uma vez que isso não corresponde à versão do Visual Studio (exceto para 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

Os dlls Microsoft C++ usam um código de 2 ou 3 dígitos também baseado na versão do compilador e não na versão do Visual Studio.

  • MSVCP80.DLL é do Visual Studio 2005
  • MSVCP90.DLL é do Visual Studio 2008
  • MSVCP100.DLL é do Visual Studio 2010
  • MSVCP110.DLL é do Visual Studio 2012
  • MSVCP120.DLL é do Visual Studio 2013
  • MSVCP140.DLL é do Visual Studio 2015
 53
Author: drescherjm, 2015-12-02 20:45:51
Dei por mim a perder tempo à procura de uma solução para isto, e suspeito que o faça de novo no futuro. Então aqui está uma nota para mim e para outros que podem achar isto útil.

Se MSVCP120.Falta o DLL, o que significa que não instalou pacotes Redistributáveis visuais em C++ para o Visual Studio 2013 (x86 e x64). Instale isso, reinicie e você deverá encontrar este ficheiro em c:\Windows\System32 .

Agora se MSVCP120D.DLL está em falta, isto significa que a aplicação que você é tentar executar é construído no modo de depuração. Como o OP mencionou, a versão de depuração do tempo de execução não é distribuível.

Então, o que fazemos?

Bem, existe uma opção que eu conheço: vá à configuração de depuração do seu projecto > C/C++ > geração de código > biblioteca de execução e seleccione a depuração multi-thread (/MTd). Isto irá estabelecer uma ligação estática MSVCP120D.dll no teu executável.

Também há uma correção rápida se você só quiser obter algo rapidamente: Copie o MSVCP120D.DLL de sys32 (o meu é C:\Windows\System32) pasta. Pode também necessitar de MSVCR120D.DLL.

Adenda à correção rápida: para reduzir a adivinhação, pode usar dependency walker . Abra sua aplicação com o andarilho de dependência, e você verá que arquivos dll são necessários.

Por exemplo, a minha recente aplicação foi construída no Visual Studio 2015 (Windows 10 64-bit machine) e estou a direccioná-la para uma máquina Windows XP de 32-bit. Usando o andador de dependências, a minha aplicação (ver screenshot) necessita dos seguintes ficheiros:
  • opencv_*.dll
  • msvcp140d.dll
  • kernel32.dll
  • vcruntime140d.dll
  • à base de dados. = = ligações externas = = dll

Além dos arquivos opencv * que eu construí, eu também precisaria copiar os arquivos do sistema de C:\Windows\SysWow64 (System32 para 32 bits).

De nada. :-)
 40
Author: bot3663369, 2016-04-19 01:23:37

Tenho o mesmo problema contigo quando implementei o OpenCV 2.4.11 no VS 2015. Tentei resolver este problema com três métodos, um a um, mas não funcionaram.:

  1. telecarregamento MSVCP120.DLL online e adiciona - o à localização do windows e à localização do ficheiro do bin OpenCV
  2. Instalar Pacotes Redistribuíveis visuais C++ para o Visual Studio 2013, tanto x86 como x86
  3. ajustar o modo de depuração. Ir para a configuração > C/C++ > geração de código > biblioteca de tempo de execução e seleccionar a depuração multi-threaded (/DMT)

Finalmente resolvi este problema ao reinstalar o VS2015 com a seleção de todas as opções que podem ser instaladas , é preciso muito espaço, mas realmente funciona.

 2
Author: rookiechen, 2016-07-09 13:20:55

Eu baixei msvcr120d.dll e msvcp120d.dll para uma versão de 32 bits e depois, coloquei-os na pasta Debug do meu projecto. Funcionou bem. (O meu computador é uma versão de 64 bits)

 2
Author: Anandi, 2016-10-03 08:18:03
O meu problema foi com as compilações x64 enviadas para uma máquina de testes remota. Eu encontrei as versões x64 de msvp120d.dll e msvcr120d.dll em
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC120.DebugCRT
 1
Author: Kevin Johnsrude, 2016-06-16 17:42:09