Delen via


MSB8040 diagnostische code

In dit artikel wordt de MSB8040 foutcode beschreven.

Tekst van het bericht

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

Beschrijving

Deze fout treedt op wanneer voor het project Spectre-gemitigeerde bibliotheken vereist zijn (C/C++>Spectre Mitigation is niet ingesteld op Uitgeschakeld), maar de bibliotheken niet geïnstalleerd zijn. Zie Spectre-oplossingen in Microsoft Foundation-klassen (MFC) voor meer informatie.

Resolutie / Besluit

Bepaal eerst of u Spectre-risicobeperking wilt implementeren en voer vervolgens de benodigde stappen uit om uw installatie bij te werken om de fout te verhelpen.

Spectre-mitigatie uitschakelen

Als u de Spectre-mitigatie niet wilt gebruiken, schakelt u de optie uit in Visual Studio. Controleer bij opdrachtregelbouw of u de /Qspectre compileroptie of de varianten /Qspectre-load en /Qspectre-load-cf niet gebruikt.

Voer de volgende stappen uit om de optie in Visual Studio uit te schakelen:

  1. Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt en selecteer Eigenschappen (Alt+Enter).
  2. Selecteer in het dialoogvenster Eigenschappenpagina's voor uw project de eigenschappenpagina Configuratie-eigenschappen>C/C++>Code genereren .
  3. Stel de eigenschap Spectre Mitigations in op Disabled.
  4. Selecteer OK om uw wijzigingen op te slaan.

Schermopname die laat zien hoe je Spectre-beveiligingsmaatregelen uitschakelt in Visual Studio.

Spectre-mitigatie inschakelen

Als u besluit om Spectre-risicobeperking te gebruiken, moet u ervoor zorgen dat uw installatie de juiste compiler- en bibliotheekonderdelen bevat met ondersteuning voor Spectre-risicobeperking.

Voer de volgende stappen uit om uw installatie bij te werken:

  1. Open het installatieprogramma van Visual Studio.
  2. Selecteer de knop Wijzigen naast de versie van Visual Studio die u gebruikt.
  3. Selecteer het tabblad Afzonderlijke onderdelen boven aan het dialoogvenster.
  4. Typ Spectre v14.2 in het vak Zoekonderdelen.
  5. Zorg ervoor dat in de sectie Compiler, build tools en runtime de optie MSVC v142… Spectre-mitigated libs is geselecteerd voor alle architecturen waar de build op gericht is.
  6. Als u ATL of MFC wilt gebruiken, selecteert u ook de bibliotheken, zoals C++ MFC voor de nieuwste v142-buildhulpprogramma's met Spectre Mitigations (of de juiste versie voor uw toolset) voor alle architecturen die de builddoelen hebben. Zie MFC- en ATL-bibliotheken installeren voor meer informatie.
  7. Selecteer Wijzigen om de geselecteerde onderdelen te installeren.

Schermopname die laat zien hoe u de installatie bijwerkt om de Spectre-bibliotheek met mitigaties op te nemen.

Compileropties opgeven

Als u Spectre-beveiligingsmaatregelen inschakelt, moet u een /Qspectre compileroptie opgeven. Zie de optie /Qspectre compiler voor meer informatie.

Voer de volgende stappen uit om de /Qspectre compileroptie op te geven:

  1. Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt en selecteer Eigenschappen (Alt+Enter).

  2. Selecteer in het dialoogvenster Eigenschappenpagina's voor uw project de eigenschappenpagina Configuratie-eigenschappen>C/C++>Code genereren .

  3. Stel de eigenschap Spectre Mitigations in op een van de volgende waarden:

  4. Selecteer OK om uw wijzigingen op te slaan.

Van toepassing op:

Alle versies van MSBuild