Cursos
Ruta de aprendizaje
Uso de Visual Studio para el desarrollo moderno - Training
¿Quiere saber más sobre el uso de Visual Studio para desarrollar y probar aplicaciones, pero no sabe por dónde empezar? ¡Empiece por aquí!
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Los conjuntos de herramientas del compilador de Microsoft C++ (MSVC) en Visual Studio 2013 y versiones anteriores no garantizan compatibilidad binaria en las versiones principales. No se pueden vincular archivos objeto, bibliotecas estáticas, bibliotecas dinámicas y ejecutables creados mediante diferentes versiones de estos conjuntos de herramientas. Las API, los formatos de objeto y las bibliotecas en tiempo de ejecución son incompatibles.
Este comportamiento lo hemos cambiado en Visual Studio 2015 y versiones posteriores. Las bibliotecas y aplicaciones en tiempo de ejecución compiladas mediante cualquiera de estas versiones del compilador son compatibles con binarios. Se refleja en el número principal del conjunto de herramientas de C++, que comienza por 14 para todas las versiones desde Visual Studio 2015. (La versión del conjunto de herramientas es v140 para Visual Studio 2015, v141 para 2017, v142 para 2019 y v143 para 2022). Supongamos que tiene bibliotecas de terceros que ha compilado Visual Studio 2015. Todavía puede usarlos en una aplicación que haya compilado Visual Studio 2017, 2019 o 2022. No es necesario volver a compilar con un conjunto de herramientas coincidente. La versión más reciente del paquete de Microsoft Visual C++ Redistributable (el redistribuible) funciona para todos ellos.
Hay tres restricciones importantes sobre la compatibilidad binaria entre los conjuntos de herramientas v140, v141, v142 y v143, y las actualizaciones secundarias de versión numerada:
extern "C"
estrictamente para las importaciones o exportaciones. Estos son algunos ejemplos de lo que todo esto significa: extern "C"
). Sin embargo, el único caso admitido oficialmente es el consumo de un SDK de Windows más reciente con un conjunto de herramientas anterior./GL
(optimización de todo el programa) o vinculados mediante /LTCG
(generación de código en tiempo de vínculo)no son compatibles con binarios entre versiones, incluidas las actualizaciones de versiones secundarias. Todos los archivos y bibliotecas de objetos compilados con /GL
y /LTCG
deben usar exactamente el mismo conjunto de herramientas para la compilación y el vínculo final. Por ejemplo, el código compilado con /GL
en el conjunto de herramientas de Visual Studio 2019, versión 16.7, no se puede vincular al código compilado mediante /GL
en el conjunto de herramientas de Visual Studio 2019, versión 16.8. El compilador emite un error irrecuperable C1047.Hemos mantenido el número de versión principal de Microsoft Visual C++ Redistributable igual para Visual Studio 2015, 2017, 2019 y 2022. Esto significa que solo se puede instalar una instancia del redistribuible a la vez. Una versión más reciente sobrescribe cualquier versión anterior que ya esté instalada. Por ejemplo, una aplicación puede instalar el redistribuible desde Visual Studio 2015. Después, otra aplicación instala el redistribuible desde Visual Studio 2022. La versión 2022 sobrescribe la versión anterior pero, dado que son compatibles con binarios, la aplicación anterior sigue funcionando correctamente. Nos aseguramos de que la versión más reciente del redistribuible tenga todas las características, actualizaciones de seguridad y correcciones de errores más recientes. Por este motivo siempre se recomienda actualizar a la versión más reciente disponible.
Del mismo modo, no se puede instalar un redistribuible anterior cuando ya está instalada una versión más reciente. Si lo intenta, el instalador notificará un error. Verá un error similar al siguiente si instala el redistribuible 2017 o 2019 en un equipo que ya tenga la versión 2022:
0x80070666 - Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
Se trata de un error por diseño. Se recomienda mantener instalada la versión más reciente. Asegúrese de que el instalador puede recuperarse de este error de forma silenciosa.
Importante
La compatibilidad de la biblioteca en tiempo de ejecución con Windows XP ya no está disponible en la versión más reciente de Visual C++ Redistributable para Visual Studio. El último archivo redistribuible que admite Windows XP es la versión 16.7 (archivo versión 14.27.29114.0). Si las aplicaciones de Windows XP se implementan o se actualizan a una versión posterior del objeto redistribuible, no se ejecutarán. Para obtener más información y saber cómo obtener una versión del archivo redistribuible que admite Windows XP, consulte Configuración de programas para Windows XP.
Historial de cambios en Visual C++
Las últimas descargas de Visual C++ Redistributable compatibles
cómo auditar el uso de la versión en tiempo de ejecución de Visual C++
Preguntas frecuentes sobre el ciclo de vida - Visual C++ Redistributable y bibliotecas en tiempo de ejecución
Cursos
Ruta de aprendizaje
Uso de Visual Studio para el desarrollo moderno - Training
¿Quiere saber más sobre el uso de Visual Studio para desarrollar y probar aplicaciones, pero no sabe por dónde empezar? ¡Empiece por aquí!
Documentación
Descripción de las dependencias de una aplicación de Visual C++
Más información sobre: Descripción de las dependencias de una aplicación de Visual C++
Configuración de programas para Windows XP
Cómo instalar y usar los conjuntos de herramientas de Windows XP de C++ en Visual Studio.
Historial de cambios de Microsoft C/C++ 2003 - 2015
Aquí encontrará información sobre todos los cambios importantes en Microsoft C/C++ desde Visual Studio 2003 hasta Visual Studio 2015.