Sdílet prostřednictvím


MSB8040 diagnostický kód

Tento článek popisuje kód chyby MSB8040.

Text zprávy

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

Popis

K této chybě dochází v případě, že projekt vyžaduje knihovny Spectre se zmírněním rizik (zmírnění rizik C/C++>Spectre není nastavené na Zakázáno), ale knihovny nejsou nainstalovány. Další informace naleznete v tématu Zmírnění Spectre v Microsoft Foundation Classes (MFC).

Řešení

Nejprve určete, jestli chcete implementovat zmírnění důsledků Spectre, a pak dodržením potřebných kroků aktualizujte instalaci, abyste odstranili chybu.

Zakázat zmírnění Spectre

Pokud nechcete používat zmírnění rizik Spectre, zakažte tuto možnost v sadě Visual Studio. V případě sestavení příkazového řádku ověřte, že nepoužíváte možnost kompilátoru /Qspectre nebo jeho varianty /Qspectre-load a /Qspectre-load-cf.

Pokud chcete tuto možnost v sadě Visual Studio zakázat, postupujte takto:

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu a vyberte Vlastnosti (Alt+Enter).
  2. V dialogovém okně Stránky vlastností vašeho projektu vyberte stránku Konfigurační vlastnosti>C/C++>Generování kódu.
  3. Nastavte vlastnost Spectre Mitigations na Zakázáno.
  4. Kliknutím na TLAČÍTKO OK uložte provedené změny.

Snímek obrazovky, který ukazuje, jak zakázat opatření zmírňující Spectre v sadě Visual Studio.

Povolit zmírnění rizik spectre

Pokud se rozhodnete použít zmírnění rizik Spectre, ujistěte se, že vaše instalace obsahuje správné součásti kompilátoru a knihovny s podporou zmírnění rizik Spectre.

Chcete-li aktualizovat instalaci, postupujte takto:

  1. Otevřete instalační program sady Visual Studio.
  2. Vyberte tlačítko Upravit vedle používané verze sady Visual Studio.
  3. V horní části dialogového okna vyberte kartu Jednotlivé komponenty.
  4. Do vyhledávacího pole součásti zadejte Spectre v14.2.
  5. V části Kompilátor, nástroje sestavení a modul runtime se ujistěte, že je vybrána možnost MSVC v142, spectre-zmírněné knihovny pro všechny architektury, na které cílí sestavení.
  6. Pokud chcete použít knihovny ATL nebo MFC, vyberte také knihovny, jako jsou knihovny MFC jazyka C++ pro nejnovější nástroje sestavení v142 se zmírněním Spectre (nebo odpovídající verzí sady nástrojů) pro všechny architektury, na které sestavení cílí. Další informace naleznete v tématu Instalace knihoven MFC a ATL.
  7. Chcete-li nainstalovat vybrané součásti, vyberte možnost Upravit .

Snímek obrazovky, který ukazuje, jak aktualizovat instalaci tak, aby zahrnovala knihovnu zmírnění rizik Spectre

Určení možností kompilátoru

Pokud povolíte zmírnění rizik Spectre, ujistěte se, že jste zadali možnost kompilátoru /Qspectre . Další informace najdete v možnosti kompilátoru /Qspectre .

Chcete-li zadat možnost kompilátoru /Qspectre , postupujte takto:

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu a vyberte Vlastnosti (Alt+Enter).

  2. V dialogovém okně Stránky vlastností vašeho projektu vyberte stránku Konfigurační vlastnosti>C/C++>Generování kódu.

  3. Vlastnost Spectre Mitigations nastavte na jednu z následujících hodnot:

  4. Kliknutím na TLAČÍTKO OK uložte provedené změny.

Vztahuje se na

Všechny verze nástroje MSBuild