Erreur MSBuild MSB8041

MSB8041 : Les bibliothèques MFC/ATL sont requises pour ce projet.

Cette erreur se produit lorsque MFC ou ATL est requis pour un build, mais qu’elles n’ont pas été trouvées.

Remarques

Les bibliothèques MFC et ATL ne sont pas installées par défaut lorsque vous installez une charge de travail C++ dans Visual Studio. Pour corriger l’erreur, vérifiez que les versions appropriées des bibliothèques MFC et ATL de votre ensemble d’outils de génération sont installées. Il existe des versions de MFC pour chaque version des outils de génération C++, pour chaque plateforme cible et avec ou sans atténuations Spectre. Par exemple, C++ MFC pour les derniers outils de génération v143 (x86 et x64) possède les bibliothèques x86 et x64 sans atténuations Spectre pour la dernière version de Visual Studio 2022 (v143). Si vous souhaitez simplement utiliser les bibliothèques les plus récentes pour une version donnée d’un ensemble d’outils Visual Studio, il vous faut C++ MFC pour les derniers outils de génération [version] ([cible]) pour les builds non-Spectre et C++ MFC pour les derniers outils de génération [version] avec atténuations Spectre ([cible]) pour les builds avec atténuations Spectre. Choisissez l’option appropriée pour votre architecture de plateforme cible. Les autres concernent les cas où vous ciblez spécifiquement un ensemble d’outils antérieur. Pour plus d’informations, consultez Versions de bibliothèque MFC.

Pour installer les bibliothèques MFC et ATL

  1. Ouvrez le programme d’installation de Visual Studio.
  2. Choisissez le bouton Modifier en regard de la version de Visual Studio que vous utilisez.
  3. Sélectionnez l’onglet Composants individuels en haut de la boîte de dialogue.
  4. Entrez MFC dans la zone Composants de recherche.
  5. Sélectionnez les composants MFC qui correspondent à vos cibles de projet, telles que x86 ou ARM64EC. Sélectionnez les composants avec les atténuations Spectre si vous générez vos projets avec les atténuations Spectre activées.
    • Dans la plupart des cas, vous souhaitez sélectionner MFC pour les outils de génération les plus récents. Votre organisation ou votre projet peut nécessiter une version spécifique et antérieure de l’ensemble d’outils. Assurez-vous que la version, les cibles et les atténuations Spectre des composants MFC que vous installez correspondent à la version, aux cibles et aux atténuations Spectre requises par le projet que vous créez.
  6. Entrez ATL dans la zone Composants de recherche.
  7. Sélectionnez les composants ATL qui correspondent à vos cibles de projet, telles que x86 ou ARM64EC. Sélectionnez les composants avec les atténuations Spectre si vous générez vos projets avec les atténuations Spectre activées.
    • Dans la plupart des cas, vous souhaitez sélectionner ATL pour les outils de génération les plus récents. Votre organisation ou votre projet peut nécessiter une version spécifique et antérieure de l’ensemble d’outils. Vérifiez que la version, les cibles et les atténuations de Spectre des composants ATL que vous installez correspondent à la version de l’ensemble d’outils, aux cibles et aux atténuations spectre requises par le projet que vous créez.
  8. Choisissez Modifier pour installer le composant sélectionné.

Pour plus d’informations sur la modification de Visual Studio pour installer les bibliothèques et les fichiers binaires dont vous avez besoin, consultez Modifier Visual Studio.

Diagnostics avancés

Pour obtenir une résolution des problèmes de build détaillée, cette erreur est déclenchée dans le processus de génération C++ dans la cible Microsoft.CppBuild.targets lorsque le fichier suivant n’est pas trouvé : $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. Les propriétés proviennent de l’environnement ($(VCToolsInstallDir)) et de la configuration du projet : $(_SpectreLibsDir) est vide ou spectre\, $(PlatformShortName) est x86, x64, arm, arm64ou arm64EC.