Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit le code d’erreur MSB8041.
Texte du message
MSB8041: MFC/ATL Libraries are required for this project.
Descriptif
Cette erreur se produit lorsque le projet nécessite Microsoft Foundation Classes (MFC) ou la bibliothèque de modèles actifs (ATL), mais que les bibliothèques ne sont pas trouvées. 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.
Résolution
Vérifiez que les versions correctes des bibliothèques MFC et ATL pour 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 de 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 dernières bibliothèques pour une version donnée d’un ensemble d’outils Visual Studio, vous avez besoin de 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 de Spectre ([cible]) pour les builds atténuées de Spectre. Choisissez l’option appropriée pour votre architecture de plateforme cible. Les autres options prennent en charge les scénarios de ciblage spécifique d’un ensemble d’outils antérieur. Pour plus d’informations, consultez versions de la bibliothèque MFC.
Installer des bibliothèques MFC et ATL
Ouvrez Visual Studio Installer.
Sélectionnez le bouton Modifier en regard de la version de Visual Studio que vous utilisez.
Sélectionnez l’onglet Composants individuels en haut de la boîte de dialogue.
Dans la zone Composants de recherche , entrez MFC.
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 antérieure spécifique de l’ensemble d’outils. Assurez-vous que la version, les cibles et les atténuations de Spectre des composants MFC que vous installez correspondent à la version, aux cibles et aux atténuations de Spectre requises par le projet que vous créez.
Dans la zone Composants de recherche , entrez ATL.
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 antérieure spécifique des outils de génération MSVC. 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.
Sélectionnez Modifier pour installer les composants sélectionnés.
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.
Explorer les diagnostics avancés
Pour obtenir une résolution des problèmes de build détaillée, l’erreur MSB8041 est déclenchée dans le processus de génération C++ dans la cible MSBuild 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.
S’applique à
Toutes les versions de MSBuild