/Yl (PCH-Verweis für Debugbibliothek einfügen)

Die Option "/Yl " generiert ein eindeutiges Symbol in einer vorkompilierten Headerdatei, und ein Verweis auf dieses Symbol wird in alle Objektdateien eingefügt, die den vorkompilierten Header verwenden.

Syntax

/Yl
/Yl-Name
/Yl-

Argumente

name
Ein optionaler Name, der als Teil des eindeutigen Symbols verwendet wird.

-
Ein Gedankenstrich (-) deaktiviert explizit die /Yl-Compileroption .

Hinweise

Die Option "/Yl compiler" erstellt eine eindeutige Symboldefinition in einer vorkompilierten Headerdatei, die mit der Option "/Yc " erstellt wurde. Verweise auf dieses Symbol werden automatisch in alle Dateien eingefügt, die den vorkompilierten Header mithilfe der /Yu-Compileroption enthalten. Die Option "/Yl " ist standardmäßig aktiviert, wenn /Yc zum Erstellen einer vorkompilierten Headerdatei verwendet wird.

Die Option "/YlName " wird verwendet, um ein identifizierbares Symbol in der vorkompilierten Headerdatei zu erstellen. Der Compiler verwendet das Namensargument als Teil des verzierten Symbolnamens, den er erstellt, ähnlich __@@_PchSym_@00@...@name, wo die Auslassungspunkte (...) eine eindeutige compilergenerierte Zeichenzeichenfolge darstellt. Wenn das Namensargument nicht angegeben wird, generiert der Compiler automatisch einen Symbolnamen. Normalerweise müssen Sie den Namen des Symbols nicht kennen. Wenn Ihr Projekt jedoch mehrere vorkompilierte Headerdatei verwendet, kann die Option "/Ylname " hilfreich sein, um zu bestimmen, welche Objektdateien den vorkompilierten Header verwenden. Sie können den Namen als Suchzeichenfolge verwenden, um den Symbolverweis in einer Dumpdatei zu finden.

/Yl- deaktiviert das Standardverhalten und platziert kein Identifizierende Symbol in der vorkompilierten Headerdatei. Kompilierte Dateien, die diesen vorkompilierten Header enthalten, erhalten keinen allgemeinen Symbolverweis.

Wenn /Yc nicht angegeben ist, hat eine /Yl-Option keine Auswirkung, aber wenn angegeben, muss sie mit einer /Yl-Option übereinstimmen, die übergeben wird, wenn /Yc angegeben wird.

Wenn Sie die Optionen "/Yl-, /Yc" und "/Z7" zum Erstellen einer vorkompilierten Headerdatei verwenden, werden die Debuginformationen in der Objektdatei für die Quelldatei gespeichert, die zum Erstellen des vorkompilierten Headers anstelle einer separaten PDB-Datei verwendet wird. Wenn diese Objektdatei teil einer Bibliothek ist, können LNK1211 Fehler oder LNK4206 Warnungen in Builds auftreten, die diese Bibliothek und die vorkompilierte Headerdatei verwenden, wenn die Quelldatei zum Erstellen der vorkompilierten Headerdatei keine Symbole selbst definiert. Der Linker kann die Objektdatei zusammen mit den zugehörigen Debuginformationen ausschließen, wenn im Bibliotheksclient auf nichts in der Objektdatei verwiesen wird. Um dieses Problem zu beheben, geben Sie /Yl an (oder entfernen Sie die Option "/Yl"), wenn Sie "/Yc" zum Erstellen der vorkompilierten Headerdatei verwenden. Dadurch wird sichergestellt, dass die Objektdatei aus der Bibliothek, die die Debuginformationen enthält, in Ihrem Build verknüpft wird.

Weitere Informationen zu vorkompilierten Headern finden Sie unter:

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Fügen Sie die Compileroption "/Ylname" im Feld "Zusätzliche Optionen" hinzu. Klicken Sie auf OK, um die Änderungen zu speichern.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile