Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
- Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt en selecteer Eigenschappen (Alt+Enter).
- Selecteer in het dialoogvenster Eigenschappenpagina's voor uw project de eigenschappenpagina Configuratie-eigenschappen>C/C++>Code genereren .
- Stel de eigenschap Spectre Mitigations in op Disabled.
- Selecteer OK om uw wijzigingen op te slaan.
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:
- Open het installatieprogramma van Visual Studio.
- Selecteer de knop Wijzigen naast de versie van Visual Studio die u gebruikt.
- Selecteer het tabblad Afzonderlijke onderdelen boven aan het dialoogvenster.
- Typ Spectre v14.2 in het vak Zoekonderdelen.
- 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.
- 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.
- Selecteer Wijzigen om de geselecteerde onderdelen te installeren.
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:
Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt en selecteer Eigenschappen (Alt+Enter).
Selecteer in het dialoogvenster Eigenschappenpagina's voor uw project de eigenschappenpagina Configuratie-eigenschappen>C/C++>Code genereren .
Stel de eigenschap Spectre Mitigations in op een van de volgende waarden:
- Ingeschakeld
- Alle belastingen voor /Qspectre-load
- Alle controlestroombelastingen voor /Qspectre-load-cf
Selecteer OK om uw wijzigingen op te slaan.
Van toepassing op:
Alle versies van MSBuild