Share via


/Yl (Inserisce il riferimento PCH per la libreria di debug)

L'opzione /Yl genera un simbolo univoco in un file di intestazione precompilato e un riferimento a questo simbolo viene inserito in tutti i file oggetto che usano l'intestazione precompilata.

Sintassi

/Yl
/Ylname
/Yl-

Argomenti

name
Nome facoltativo utilizzato come parte del simbolo univoco.

-
Un trattino (-) disabilita in modo esplicito l'opzione del compilatore /Yl .

Osservazioni:

L'opzione del compilatore /Yl crea una definizione di simbolo univoca in un file di intestazione precompilato creato usando l'opzione /Yc . I riferimenti a questo simbolo vengono inseriti automaticamente in tutti i file che includono l'intestazione precompilata usando l'opzione del compilatore /Yu . L'opzione /Yl è abilitata per impostazione predefinita quando /Yc viene usato per creare un file di intestazione precompilato.

L'opzione /Ylname viene usata per creare un simbolo identificabile nel file di intestazione precompilato. Il compilatore usa l'argomento name come parte del nome del simbolo decorato creato, simile a __@@_PchSym_@00@...@name, in cui i puntini di sospensione (...) rappresentano una stringa di caratteri univoca generata dal compilatore. Se l'argomento name viene omesso, il compilatore genera automaticamente un nome di simbolo. In genere, non è necessario conoscere il nome del simbolo. Tuttavia, quando il progetto usa più file di intestazione precompilati, l'opzione /Ylname può essere utile per determinare quali file oggetto usano l'intestazione precompilata. È possibile usare il nome come stringa di ricerca per trovare il riferimento al simbolo in un file di dump.

/Yl- disabilita il comportamento predefinito e non inserisce un simbolo di identificazione nel file di intestazione precompilato. I file compilati che includono questa intestazione precompilata non ottengono un riferimento comune ai simboli.

Quando /Yc non viene specificato, qualsiasi opzione /Yl non ha alcun effetto, ma se specificata deve corrispondere a qualsiasi opzione /Yl passata quando si specifica /Yc .

Se si usano le opzioni /Yl-, /Yc e /Z7 per compilare un file di intestazione precompilato, le informazioni di debug vengono archiviate nel file oggetto per il file di origine usato per creare l'intestazione precompilata, anziché un file con estensione pdb separato. Se questo file di oggetto fa parte di una libreria, LNK1211 errori o LNK4206 avvisi possono verificarsi nelle compilazioni che usano questa libreria e il file di intestazione precompilato, se il file di origine usato per creare il file di intestazione precompilato non definisce simboli stessi. Il linker può escludere il file oggetto dal collegamento, insieme alle informazioni di debug associate, quando nel client della libreria non viene fatto riferimento alcun elemento nel file oggetto. Per risolvere questo problema, specificare /Yl (o rimuovere l'opzione /Yl- ) quando si usa /Yc per creare il file di intestazione precompilato. In questo modo, il file oggetto dalla libreria che contiene le informazioni di debug viene collegato nella compilazione.

Per altre informazioni sulle intestazioni precompilate, vedere:

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Aggiungere l'opzione del compilatore /Ylname nella casella Opzioni aggiuntive . Scegli OK per salvare le modifiche.

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC