Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird der MSB8040 Fehlercode beschrieben.
Text der Nachricht
MSB8040: Spectre-mitigated libraries are required for this project.
BESCHREIBUNG
Dieser Fehler tritt auf, wenn für das Projekt Spectre-entschärfte Bibliotheken erforderlich sind (C/C++>Spectre Mitigation ist nicht auf "Deaktiviert" festgelegt), aber die Bibliotheken werden nicht installiert. Weitere Informationen finden Sie unter Spectre-Abschwächungen in Microsoft Foundation Classes (MFC).
Beschluss
Ermitteln Sie zunächst, ob Sie die Spectre-Entschärfung implementieren möchten, und führen Sie dann die erforderlichen Schritte aus, um die Installation zu aktualisieren, um den Fehler zu beheben.
Spectre-Entschärfung deaktivieren
Wenn Sie die Spectre-Entschärfung nicht verwenden möchten, deaktivieren Sie die Option in Visual Studio. Vergewissern Sie sich bei Befehlszeilenbuilds, dass Sie nicht die Compileroption /Qspectre
oder deren Varianten /Qspectre-load
und /Qspectre-load-cf
verwenden.
Führen Sie die folgenden Schritte aus, um die Option in Visual Studio zu deaktivieren:
- Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Eigenschaften (Alt+EINGABETASTE) aus.
- Wählen Sie im Dialogfeld Eigenschaftenseiten für Ihr Projekt die Eigenschaftenseite "Konfigurationseigenschaften>C/C++>-Codegenerierung " aus.
- Legen Sie die Spectre Mitigations-Eigenschaft auf "Deaktiviert" fest.
- Wählen Sie OK aus, um Ihre Änderungen zu speichern.
Spectre-Entschärfung aktivieren
Wenn Sie sich für die Verwendung der Spectre-Entschärfung entscheiden, stellen Sie sicher, dass Ihre Installation die richtigen Compiler- und Bibliothekskomponenten mit Unterstützung für die Spectre-Entschärfung enthält.
Führen Sie die folgenden Schritte aus, um Ihre Installation zu aktualisieren:
- Öffnen Sie das Visual Studio-Installationsprogramm.
- Wählen Sie die Schaltfläche " Ändern " neben der verwendeten Version von Visual Studio aus.
- Wählen Sie oben im Dialogfeld die Registerkarte Einzelne Komponenten aus.
- Geben Sie im Feld "Suchkomponenten " "Spectre v14.2" ein.
- Stellen Sie im Abschnitt Compiler, Buildtools und Laufzeit sicher, dass die Option MSVC v142… Spectre-mitigated libs für alle Architekturen der Buildziele ausgewählt ist.
- Um ATL oder MFC zu verwenden, wählen Sie auch die Bibliotheken aus, z. B. C++ MFC für die neuesten v142-Buildtools mit Spectre Mitigations (oder die entsprechende Version für Ihr Toolset) für alle Architekturen, die die Buildziele sind. Weitere Informationen finden Sie unter Installieren von MFC- und ATL-Bibliotheken.
- Wählen Sie "Ändern" aus, um die ausgewählten Komponenten zu installieren.
Angeben von Compileroptionen
Wenn Sie Spectre-Gegenmaßnahmen aktivieren, stellen Sie sicher, dass Sie eine /Qspectre
Compileroption angeben. Weitere Informationen finden Sie in der Compileroption "/Qspectre ".
Führen Sie die folgenden Schritte aus, um die /Qspectre
Compileroption anzugeben:
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Eigenschaften (Alt+EINGABETASTE) aus.
Wählen Sie im Dialogfeld Eigenschaftenseiten für Ihr Projekt die Eigenschaftenseite "Konfigurationseigenschaften>C/C++>-Codegenerierung " aus.
Legen Sie die Spectre Mitigations-Eigenschaft auf einen der folgenden Werte fest:
- Aktiviert
- Alle Lasten für /Qspectre-Last
- Alle Steuerungsflusslasten für /Qspectre-load-cf
Wählen Sie OK aus, um Ihre Änderungen zu speichern.
Gilt für:
Alle Versionen von MSBuild