Delen via


MSB8041 diagnostische code

In dit artikel wordt de MSB8041 foutcode beschreven.

Tekst van het bericht

MSB8041: MFC/ATL Libraries are required for this project.

Beschrijving

Deze fout treedt op wanneer voor het project Microsoft Foundation Classes (MFC) of de Active Template Library (ATL) is vereist, maar de bibliotheken niet worden gevonden. MFC- en ATL-bibliotheken worden niet standaard geïnstalleerd wanneer u een C++-workload in Visual Studio installeert.

Resolutie / Besluit

Controleer of de juiste versies van MFC- en ATL-bibliotheken voor uw buildhulpprogrammaset zijn geïnstalleerd. Er zijn versies van MFC voor elke versie van de C++-buildtools, voor elk targetplatform en met of zonder Spectre-mitigaties. C++ MFC voor de nieuwste v143-buildhulpprogramma's (x86 en x64) heeft de x86- en x64-bibliotheken zonder Spectre-beveiligingen voor de nieuwste versie van Visual Studio 2022 (v143), bijvoorbeeld. Als u gewoon de meest recente bibliotheken wilt gebruiken voor een bepaalde versie van een Visual Studio-toolset, hebt u C++ MFC nodig voor de nieuwste buildhulpprogramma's van [versie] ([doel]) voor niet-spectre-builds en C++ MFC voor de nieuwste buildhulpprogramma's [versie] met Spectre Mitigations ([doel]) voor met Spectre beperkte builds. Kies de juiste optie voor uw doelplatformarchitectuur. De andere opties ondersteunen scenario's voor specifieke targeting van een eerdere toolset. Zie MFC-bibliotheekversies voor meer informatie.

MFC- en ATL-bibliotheken installeren

  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. Voer in het vak ZoekonderdelenMFC in.

  5. Selecteer de MFC-onderdelen die overeenkomen met uw projectdoelen, zoals x86 of ARM64EC. Selecteer de onderdelen met Spectre-oplossingen als u uw projecten bouwt waarvoor Spectre-risicobeperking is ingeschakeld.

    In de meeste gevallen wilt u MFC selecteren voor de nieuwste buildhulpprogramma's. Uw organisatie of project vereist mogelijk een specifieke eerdere versie van de toolset. Zorg ervoor dat de versie, doelen en Spectre-oplossingen van de MFC-onderdelen die u installeert overeenkomen met de hulpprogrammasetversie, doelen en Spectre-oplossingen die zijn vereist voor het project dat u bouwt.

  6. Voer ATL in het vak Zoekonderdelen in.

  7. Selecteer de ATL-onderdelen die overeenkomen met uw projectdoelen, zoals x86 of ARM64EC. Selecteer de onderdelen met Spectre-oplossingen als u uw projecten bouwt waarvoor Spectre-risicobeperking is ingeschakeld.

    In de meeste gevallen wilt u ATL selecteren voor de nieuwste buildhulpprogramma's. Uw organisatie of project vereist mogelijk een specifieke eerdere versie van de MSVC-buildhulpprogramma's. Zorg ervoor dat de versie, doelen en Spectre-oplossingen van de ATL-onderdelen die u installeert, overeenkomen met de hulpprogrammasetversie, doelen en Spectre-oplossingen die zijn vereist voor het project dat u bouwt.

  8. Selecteer Wijzigen om de geselecteerde onderdelen te installeren.

Zie Visual Studio wijzigen voor meer informatie over het wijzigen van Visual Studio om de bibliotheken en binaire bestanden te installeren die u nodig hebt.

Geavanceerde diagnostische gegevens verkennen

Voor gedetailleerde build-probleemoplossing wordt de MSB8041 fout geactiveerd in het C++-buildproces in het MSBuild-doel Microsoft.CppBuild.targets wanneer het volgende bestand niet wordt gevonden: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. De eigenschappen zijn afkomstig uit de omgeving ($(VCToolsInstallDir)) en de projectconfiguratie: $(_SpectreLibsDir) is leeg, spectre\, $(PlatformShortName) is x86, x64, arm, arm64, of arm64EC.

Van toepassing op:

Alle versies van MSBuild