Freigeben über


MSB8041 Diagnose-Code

In diesem Artikel wird der MSB8041 Fehlercode beschrieben.

Text der Nachricht

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

BESCHREIBUNG

Dieser Fehler tritt auf, wenn für das Projekt Microsoft Foundation Classes (MFC) oder die Active Template Library (ATL) erforderlich ist, die Bibliotheken jedoch nicht gefunden werden. MFC- und ATL-Bibliotheken werden nicht standardmäßig installiert, wenn Sie eine C++-Workload in Visual Studio installieren.

Beschluss

Überprüfen Sie, ob die richtigen Versionen von MFC- und ATL-Bibliotheken für Ihr Buildtoolset installiert sind. Es gibt Versionen von MFC für jede Version der C++-Buildtools, für jede Zielplattform und mit oder ohne Spectre-Entschärfungen. Beispielsweise verfügt C++ MFC für die neuesten v143-Buildtools (x86 und x64) über die x86- und x64-Bibliotheken ohne Spectre-Entschärfungen für die neueste Version von Visual Studio 2022 (v143). Wenn Sie einfach die neuesten Bibliotheken für eine bestimmte Version eines Visual Studio-Toolsets verwenden möchten, benötigen Sie C++ MFC für die neuesten [Version]-Buildtools ([Ziel]) für Nicht-Spectre-Builds und C++ MFC für die neuesten [Version]-Buildtools mit Spectre Mitigations ([Ziel]) für Spectre-Entschärfungsbuilds. Wählen Sie die richtige Option für Ihre Zielplattformarchitektur aus. Die anderen Optionen unterstützen Szenarien für die spezifische Zielbestimmung eines früheren Toolsets. Weitere Informationen finden Sie unter MFC Library Versions.

Installieren von MFC- und ATL-Bibliotheken

  1. Öffnen Sie das Visual Studio-Installationsprogramm.

  2. Wählen Sie die Schaltfläche " Ändern " neben der verwendeten Version von Visual Studio aus.

  3. Wählen Sie oben im Dialogfeld die Registerkarte Einzelne Komponenten aus.

  4. Geben Sie im Feld "Suchkomponenten " MFC ein.

  5. Wählen Sie die MFC-Komponenten aus, die Ihren Projektzielen entsprechen, z. B. x86 oder ARM64EC. Wählen Sie die Komponenten mit Spectre-Gegenmaßnahmen aus, wenn Sie Ihre Projekte mit aktivierten Spectre-Gegenmaßnahmen erstellen.

    In den meisten Fällen möchten Sie MFC für die neuesten Buildtools auswählen. Ihre Organisation oder Ihr Projekt erfordert möglicherweise eine bestimmte frühere Version des Toolsets. Stellen Sie sicher, dass die Version, die Ziele und die Spectre-Entschärfungen der MFC-Komponenten, die Sie installieren, mit der Version, den Zielen und den Spectre-Entschärfungen des Toolsets übereinstimmen, das für das von Ihnen erstellte Projekt erforderlich ist.

  6. Geben Sie im Feld "Suchkomponenten " ATL ein.

  7. Wählen Sie die ATL-Komponenten aus, die Ihren Projektzielen entsprechen, z. B. x86 oder ARM64EC. Wählen Sie die Komponenten mit Spectre-Gegenmaßnahmen aus, wenn Sie Ihre Projekte mit aktivierten Spectre-Gegenmaßnahmen erstellen.

    In den meisten Fällen möchten Sie ATL für die neuesten Buildtools auswählen. Ihre Organisation oder Ihr Projekt erfordert möglicherweise eine bestimmte frühere Version des Toolsets. Stellen Sie sicher, dass die von Ihnen installierten ATL-Komponenten in Bezug auf Version, Ziele und Spectre-Gegenmaßnahmen mit der Toolset-Version, den Zielen und den Spectre-Gegenmaßnahmen übereinstimmen, die Sie für das Projekt benötigen, das Sie erstellen.

  8. Wählen Sie "Ändern" aus, um die ausgewählten Komponenten zu installieren.

Weitere Informationen zum Ändern von Visual Studio zum Installieren der benötigten Bibliotheken und Binärdateien finden Sie unter Ändern von Visual Studio.

Erweiterte Diagnose erkunden

Für detaillierte Build-Problembehandlungen wird der Fehler MSB8041 im C++-Buildprozess im MSBuild-Ziel „Microsoft.CppBuild.targets“ ausgelöst, wenn die folgende Datei nicht gefunden wird: $(VCToolsInstallDir)atlmfc\lib\$(_SpectreLibsDir)$(PlatformShortName)\mfcs140.lib. Die Eigenschaften stammen aus der Umgebung ($(VCToolsInstallDir)) und der Projektkonfiguration: $(_SpectreLibsDir) ist leer oder spectre\, $(PlatformShortName) ist x86, x64, arm, arm64 oder arm64EC.

Gilt für:

Alle Versionen von MSBuild