Componentes de las bibliotecas de Microsoft Visual C++ a partir de 2005

La información ofrecida a continuación complementa la lista de versiones de los paquetes de redistribución de Visual C++. Ambas pueden resultar útiles en situaciones que requieran sustituir, reparar o instalar los archivos de las bibliotecas. Se recomienda encarecidamente usar los paquetes oficiales de redistribución siempre que sea posible, nunca descargar los archivos DLL individuales de sitios web que los ofrecen sin ningún tipo de control o garantía sobre su integridad, número de versión, arquitectura de procesador y dependencias.

Los archivos DLL de Visual C++ 2005 y Visual C++ 2008 se agrupan de acuerdo con los ensamblados a los que pertenecen. Recuérdese que la infraestructura de ensamblados en paralelo (SxS) apareció en Windows XP. Las bibliotecas de Visual C++ 2010 en adelante, aunque ya no están basadas en SxS, también se muestran separadas por grupos, como indican las carpetas de redistribución de Visual C++ en una instalación de Visual Studio.

Los paquetes de redistribución de Visual C++ 2010 y siguientes copian todos los archivos a System32 o Syswow64, sin distinción alguna. System32 es el destino de las bibliotecas de 32 bits en Windows de 32 bits y las de 64 bits en Windows de 64 bits; por su parte, Syswow64 recibe las bibliotecas de 32 bits en Windows de 64 bits. No respetar esta disposición ocasionará problemas en la ejecución de las aplicaciones compiladas con Visual C++.

Aparte, existen versiones de depuración de las bibliotecas que forman parte de los grupos CRT, CXXAMP, MFC y OpenMP. Sus nombres llevan la letra D al final. Las DLL de depuración no se ofrecen de forma independiente, tan solo como parte de una instalación de Visual Studio, y por lo tanto no son aptas para la redistribución.

Visual C++ 2005 (VC80, SxS)

  • Microsoft.VC80.ATL: Atl80.dll [1]
  • Microsoft.VC80.CRT: Msvcm80.dll, Msvcp80.dll, Msvcr80.dll
  • Microsoft.VC80.MFC: Mfc80.dll, Mfc80u.dll, Mfcm80.dll, Mfcm80u.dll
  • Microsoft.VC80.MFCLOC: Mfc80chs.dll, Mfc80cht.dll, Mfc80deu.dll, Mfc80enu.dll, Mfc80esp.dll, Mfc80fra.dll, Mfc80ita.dll, Mfc80jpn.dll, Mfc80kor.dll
  • Microsoft.VC80.OpenMP: Vcomp.dll

Visual C++ 2008 (VC90, SxS)

  • Microsoft.VC90.ATL: Atl90.dll
  • Microsoft.VC90.CRT: Msvcm90.dll, Msvcp90.dll, Msvcr90.dll
  • Microsoft.VC90.MFC: Mfc90.dll, Mfc90u.dll, Mfcm90.dll, Mfcm90u.dll
  • Microsoft.VC90.MFCLOC:[2] Mfc90chs.dll, Mfc90cht.dll, Mfc90deu.dll, Mfc90enu.dll, Mfc90esn.dll, Mfc90esp.dll, Mfc90fra.dll, Mfc90ita.dll, Mfc90jpn.dll, Mfc90kor.dll, Mfc90rus.dll
  • Microsoft.VC90.OpenMP: Vcomp90.dll

Visual C++ 2010 (VC100) [3]

  • ATL: Atl100.dll
  • CRT:[4] Msvcp100.dll, Msvcr100.dll
  • MFC: Mfc100.dll, Mfc100u.dll, Mfcm100.dll, Mfcm100u.dll
  • MFCLOC: Mfc100chs.dll, Mfc100cht.dll, Mfc100deu.dll, Mfc100enu.dll, Mfc100esn.dll, Mfc100fra.dll, Mfc100ita.dll, Mfc100jpn.dll, Mfc100kor.dll, Mfc100rus.dll
  • OpenMP: Vcomp100.dll

Visual C++ 2012 (VC110) [5]

  • ATL: Atl110.dll
  • CRT: Msvcp110.dll, Msvcr110.dll, Vccorlib110.dll [6]
  • CXXAMP: Vcamp110.dll
  • MFC: Mfc110.dll, Mfc110u.dll, Mfcm110.dll, Mfcm110u.dll
  • MFCLOC: Mfc110chs.dll, Mfc110cht.dll, Mfc110deu.dll, Mfc110enu.dll, Mfc110esn.dll, Mfc110fra.dll, Mfc110ita.dll, Mfc110jpn.dll, Mfc110kor.dll, Mfc110rus.dll
  • OpenMP: Vcomp110.dll

Visual C++ 2013 (VC120) [5][7]

  • CRT: Msvcp120.dll, Msvcr120.dll, Vccorlib120.dll [6]
  • CXXAMP: Vcamp120.dll
  • MFC: Mfc120.dll, Mfc120u.dll, Mfcm120.dll, Mfcm120u.dll
  • MFCLOC: Mfc120chs.dll, Mfc120cht.dll, Mfc120deu.dll, Mfc120enu.dll, Mfc120esn.dll, Mfc120fra.dll, Mfc120ita.dll, Mfc120jpn.dll, Mfc120kor.dll, Mfc120rus.dll
  • OpenMP: Vcomp120.dll

La reorganización de las bibliotecas de CRT en Visual C++ 2015 (VC140) merece una mención aparte.

Observaciones

[1] Visual C++ 2005 presenta dos variantes de Atl80.dll: ANSI para Windows 98 y Windows Millennium, y Unicode para Windows 2000 y sus sucesores.

[2] Visual C++ 2008 incorpora Mfc90rus.dll y Mfc90esn.dll. Las siguientes versiones ya no incluyen Mfc???esp.dll.

[3] El paquete de redistribución de Visual C++ 2010 para IA64 no integra las bibliotecas de MFC ni MFCLOC.

[4] Visual C++ 2010 no incluye Msvcm100.dll. La biblioteca de C++ para ensamblados C++/CLI de .NET pasa a ser estática (su código se incorpora al programa que la necesite).

[5] Los paquetes de redistribución de Visual C++ 2012 y Visual C++ 2013 para ARM no incorporan las bibliotecas de MFC ni MFCLOC.

[6] Las bibliotecas Vccorlib110.dll y Vccorlib120.dll, de apoyo a las aplicaciones modernas, no tienen ningún propósito en sistemas anteriores a Windows 8 y Windows 8.1 respectivamente, aunque los paquetes de redistribución las instalan de todos modos.

[7] Visual C++ 2013 no incluye Atl120.dll. Deja de existir la biblioteca ATL externa y, en consecuencia, también desaparece la opción para el desarrollador de vincular su proyecto con ATL de forma dinámica. Solamente está disponible la vinculación estática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *