Udostępnij przez


kod diagnostyczny MSB8040

W tym artykule opisano kod błędu MSB8040.

Tekst wiadomości

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

Opis

Ten błąd występuje, gdy projekt wymaga bibliotek z ograniczeniem ryzyka spectre (ograniczenie ryzyka C/C++>Spectre nie jest ustawione na wyłączone), ale biblioteki nie są zainstalowane. Aby uzyskać więcej informacji, zobacz Spectre mitigations in Microsoft Foundation Classes (MFC) (Ograniczenia ryzyka spectre w klasach programu Microsoft Foundation (MFC).

Rezolucja

Najpierw określ, czy chcesz zaimplementować środki zaradcze Spectre, a następnie wykonaj niezbędne kroki, aby zaktualizować instalację i rozwiązać problem.

Wyłącz zabezpieczenia Spectre

Jeśli nie chcesz używać mitigacji Spectre, wyłącz opcję w programie Visual Studio. W przypadku kompilacji wiersza polecenia upewnij się, że nie używasz /Qspectre opcji kompilatora ani jego wariantów /Qspectre-load i /Qspectre-load-cf.

Aby wyłączyć opcję w programie Visual Studio, wykonaj następujące kroki:

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu i wybierz polecenie Właściwości (Alt+Enter).
  2. W oknie dialogowym Strony właściwości projektu wybierz stronę Właściwości konfiguracji>C/C++>Generowanie kodu.
  3. Ustaw właściwość Spectre Mitigations na Wyłączone.
  4. Aby zapisać zmiany, wybierz pozycję OK.

Zrzut ekranu przedstawiający sposób wyłączania zabezpieczeń Spectre w programie Visual Studio.

Włącz ochronę przed Spectre

Jeśli zdecydujesz się użyć ograniczenia ryzyka spectre, upewnij się, że instalacja zawiera poprawne składniki kompilatora i biblioteki z obsługą ograniczania ryzyka spectre.

Aby zaktualizować instalację, wykonaj następujące kroki:

  1. Otwórz Instalatora programu Visual Studio.
  2. Wybierz przycisk Modyfikuj obok używanej wersji programu Visual Studio.
  3. Wybierz kartę Poszczególne składniki na górze okna dialogowego.
  4. W polu Wyszukaj składniki wpisz Spectre v14.2.
  5. W sekcji Kompilator, narzędzia kompilacji i środowisko uruchomieniowe upewnij się, że MSVC v142... Dla wszystkich architektur docelowych kompilacji jest wybierana opcja Biblioteki z ograniczeniem ryzyka.
  6. Aby użyć atl lub MFC, wybierz również biblioteki, takie jak C++ MFC dla najnowszych narzędzi kompilacji w wersji 142 z narzędziami Spectre Mitigations (lub odpowiednią wersją zestawu narzędzi) dla wszystkich architektur docelowych kompilacji. Aby uzyskać więcej informacji, zobacz Instalowanie bibliotek MFC i ATL.
  7. Wybierz pozycję Modyfikuj , aby zainstalować wybrane składniki.

Zrzut ekranu przedstawiający sposób aktualizowania instalacji w celu uwzględnienia biblioteki ograniczania ryzyka spectre.

Określanie opcji kompilatora

Jeśli włączysz środki zaradcze Spectre, upewnij się, że określono opcję kompilatora /Qspectre. Aby uzyskać więcej informacji, zobacz /Qspectre compiler option (Opcja kompilatora /Qspectre ).

Aby określić opcję kompilatora /Qspectre , wykonaj następujące kroki:

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy węzeł projektu i wybierz polecenie Właściwości (Alt+Enter).

  2. W oknie dialogowym Strony właściwości projektu wybierz stronę Właściwości konfiguracji>C/C++>Generowanie kodu.

  3. Ustaw właściwość Spectre Mitigations na jedną z następujących wartości:

  4. Aby zapisać zmiany, wybierz pozycję OK.

Odnosi się do

Wszystkie wersje programu MSBuild