Nach oben zu C++-Linker
Projekt > Optionen > C++-Linker > Warnungen
In diesem Dialogfeld legen Sie Warnungsoptionen für den C++-Linker fest.
- Hinweis: Die Seite Warnungen unterstützt nur ILINK32 (32-Bit-Windows), ILINK64 (64-Bit-Windows) und XLINK (macOS).
Option
|
Beschreibung
|
Alle Warnungen deaktivieren (-w-)
|
Deaktiviert alle Warnungen und Fehlermeldungen. Vorgabe = False
|
Alle Warnungen aktivieren (-w)
|
Zeigt alle Warnungen und Fehlermeldungen an. Vorgabe = False
|
Ausgewählte Warnungen
|
Aktiviert nur die speziellen Warnungen, die auf True gesetzt sind. Klicken Sie auf +, um die Liste mit den ILINK32-Warnungen zu öffnen. Vorgabe = True
Option
|
Vorgabe
|
Beschreibung
|
Option
|
Versuch, nicht public Symbol zu exportieren
|
Ein
|
Ein Symbolname ist im EXPORTS-Abschnitt der Moduldefinitionsdatei aufgeführt, aber in den gelinkten Modulen wurde kein als public deklariertes Symbol mit diesem Namen gefunden.
Mögliche Ursachen:
- Sie versuchen, eine Funktion zu exportieren, die nicht als public deklariert ist.
- Sie haben das Schlüsselwort _export in der Deklaration einer Funktion angegeben, aber nicht in ihrer Definition oder umgekehrt.
- Sie haben einen Schreibfehler gemacht.
- Sie exportieren eine Prozedur, die deklariert, aber nicht definiert ist.
- Bei Exporten mit Groß-/Kleinschreibung erfordert die von Windows verwendete Pascal-Aufrufkonvention, dass diese Symbole alle in Großbuchstaben vorliegen.
|
-wexp
|
Package ohne Units erstellen
|
Ein
|
Sie versuchen, ein Package zu erstellen, das keine Units enthält. Überprüfen Sie die "Enthält"-Liste, um sicherzustellen, dass die zugehörigen Units aufgeführt sind. (In der "Enthält"-Liste wird festgelegt, welche Unit-Dateien in das Package eingebunden werden sollen.)
|
-wnou
|
Image als ausführbare Datei gelinkt, aber mit der Erweiterung .DLL
|
Ein
|
Der Linker erzeugt diese Warnung, wenn eine ausführbare Datei erzeugt und in einer Datei mit der Erweiterung .DLL oder .BPL gespeichert wurde. Diese Warnung tritt normalerweise auf, wenn Sie versuchen, eine .DLL oder .BPL zu erzeugen, aber vergessen haben, ein .DLL - oder .BPL -Ziel anzugeben.
Die vollständige Warnung lautet:
- Image wurde als ausführbare Datei gelinkt, aber mit der Erweiterung .DLL bzw. .BPL
|
-wdee
|
Public Symbol in mehreren Bibliotheken definiert
|
Aus
|
Diese Warnung wird angezeigt, wenn in zwei verschiedenen Bibliotheken doppelte Symbole vorhanden sind. -wdup und -wdpl unterliegen einer Sonderbehandlung. -wdup kann als Hauptsteuerung für Warnungen über doppelte public-Symbole angesehen werden. Wenn diese Warnung deaktiviert ist, werden keine Meldungen über public-Symbole ausgegeben. -wdpl steuert, ob Warnungen für doppelte public-Symbole ausgegeben werden, die aus Bibliotheksmodulen gelinkt werden. Wenn -wdpl deaktiviert und -wdup aktiviert ist, werden nur Warnungen für doppelte public-Symbole aus OBJ-Dateien der Linker-Befehlszeile ausgegeben. Wenn sowohl -wdpl als auch -wdup aktiviert sind, kennzeichnet der Linker doppelte public-Symbole in Modulen, die aus LIB-Dateien gelinkt werden.
Gegenwärtig ist -wdpl die einzige Warnung, die standardmäßig deaktiviert ist. Wenn Sie in der Befehlszeile keine Warnungsoptionen angeben, dann entspricht dies Folgendem:
-w+exp -w+rty -w+dup -w-dpl -w+nou -w+srd -w+dee -w+dli -w+snf
Die vollständigen Warnungen lauten:
- Öffentliches Symbol 'symbol' sowohl in Bibliotheksmodul 'module1' als auch 'module2' definiert
- Öffentliches Symbol 'symbol' sowohl in Modul 'module1' als auch 'module2' definiert
|
-wdup
-wdpl
|
Public Symbol in mehreren Objektdateien definiert
|
Ein
|
Abschnitt nicht gefunden
|
Ein
|
Diese Warnung tritt auf, wenn ein benannter Abschnitt nicht gefunden wird.
Die vollständige Warnung lautet:
- Abschnitt 'section' nicht gefunden
|
-wsnf
|
Entfernen von Adressverschiebungs-Informationen aus der DLL könnte zu Fehlfunktionen führen
|
Ein
|
Diese Warnung tritt auf, wenn die Option Basisadresse beim Linken einer DLL festgelegt ist.
Die vollständige Warnung lautet:
- Entfernen von Adressverschiebungs-Informationen aus der DLL könnte zu Fehlfunktionen der DLL führen
|
-wsrd
|
DLL kann nicht geladen werden
|
Ein
|
Diese Warnung tritt auf, wenn die Option Basisadresse beim Linken einer DLL festgelegt ist. In fast allen Fällen verhindert dieser Fehler, dass die Anwendung ausgeführt wird.
|
-wuld
|
Inkrementelles Linken kann nicht ausgeführt werden
|
Ein
|
Diese Warnung erscheint, wenn das inkrementelle Linken fehlschlägt. Der Linker hat einen Fehler in einer seiner Statusdateien (Projektname.IL* ) gefunden. Daher wurde ein vollständiger Link-Vorgang gestartet und neue Statusdateien erstellt.
Die vollständige Warnung lautet:
- Inkrementelles Linken kann nicht ausgeführt werden – vollständiges Linken wird ausgeführt
|
-wrty
|
|
Siehe auch