Compartir a través de


código de diagnóstico de MSB8040

En este artículo se describe el código de error MSB8040.

Texto del mensaje

MSB8040: Spectre-mitigated libraries are required for this project.

Descripción

Este error se produce cuando el proyecto requiere bibliotecas mitigadas por Spectre (la mitigación de C/C++>Spectre no está establecida en Deshabilitado), pero las bibliotecas no están instaladas. Para obtener más información, consulte Mitigaciones de Spectre en Microsoft Foundation Classes (MFC).

Resolución

En primer lugar, determine si desea implementar la mitigación de Spectre y, a continuación, siga los pasos necesarios para actualizar la instalación para solucionar el error.

Deshabilitar la mitigación de Spectre

Si no desea usar la mitigación de Spectre, deshabilite la opción en Visual Studio. En el caso de las compilaciones de línea de comandos, confirme que no usa la /Qspectre opción del compilador o sus variantes /Qspectre-load y /Qspectre-load-cf.

Para deshabilitar la opción en Visual Studio, siga estos pasos:

  1. En el Explorador de soluciones, haga clic con el botón derecho en el nodo del proyecto y seleccione Propiedades (Alt+Entrar).
  2. En el cuadro de diálogo Páginas de propiedades del proyecto, seleccione la página Propiedades de configuración>C/C++>Generación de código.
  3. Establezca la propiedad Mitigaciones de Spectre en Deshabilitado.
  4. Seleccione Aceptar para guardar los cambios.

Captura de pantalla que muestra cómo deshabilitar mitigaciones de Spectre en Visual Studio.

Habilitar la mitigación de Spectre

Si decide usar la mitigación de Spectre, asegúrese de que la instalación incluye los componentes correctos del compilador y de la biblioteca compatibles con la mitigación de Spectre.

Para actualizar la instalación, siga estos pasos:

  1. Abra el Instalador de Visual Studio.
  2. Seleccione el botón Modificar situado junto a la versión de Visual Studio que use.
  3. Seleccione la pestaña Componentes individuales en la parte superior del cuadro de diálogo.
  4. En el cuadro Buscar componentes , escriba Spectre v14.2.
  5. En la sección Compilador, herramientas de compilación y tiempo de ejecución, asegúrese de que la opción MSVC v142… bibliotecas con mitigación Spectre esté seleccionada para todas las arquitecturas de los objetivos de la compilación.
  6. Para usar ATL o MFC, seleccione también las bibliotecas, como C++ MFC para las herramientas de compilación v142 más recientes con mitigaciones de Spectre (o la versión adecuada para el conjunto de herramientas) para todas las arquitecturas de los destinos de compilación. Para obtener más información, consulte Instalación de bibliotecas MFC y ATL.
  7. Seleccione Modificar para instalar los componentes seleccionados.

Captura de pantalla que muestra cómo actualizar la instalación para incluir la biblioteca de mitigaciones de Spectre.

Especificación de las opciones del compilador

Si habilita mitigaciones de Spectre, asegúrese de especificar una /Qspectre opción del compilador. Para obtener más información, consulte la opción del compilador /Qspectre .

Para especificar la /Qspectre opción del compilador, siga estos pasos:

  1. En el Explorador de soluciones, haga clic con el botón derecho en el nodo del proyecto y seleccione Propiedades (Alt+Entrar).

  2. En el cuadro de diálogo Páginas de propiedades del proyecto, seleccione la página Propiedades de configuración>C/C++>Generación de código.

  3. Establezca la propiedad Mitigaciones de Spectre en uno de los valores siguientes:

  4. Seleccione Aceptar para guardar los cambios.

Se aplica a

Todas las versiones de MSBuild