/Yl (injetar referência PCH para biblioteca de depuração)

A opção /Yl gera um símbolo exclusivo em um arquivo de cabeçalho pré-compilado e uma referência a esse símbolo é injetada em todos os arquivos-objeto que usam o cabeçalho pré-compilado.

Sintaxe

/Yl
/Ylname
/Yl-

Argumentos

name
Um nome opcional usado como parte do símbolo exclusivo.

-
Um hífen (-) desabilita explicitamente a opção do compilador /Yl.

Comentários

A opção do compilador /Yl cria uma definição de símbolo exclusiva em um arquivo de cabeçalho pré-compilado criado com a opção /Yc. As referências a esse símbolo são injetadas automaticamente em todos os arquivos que incluem o cabeçalho pré-compilado usando a opção do compilador /Yu. A opção /Yl é habilitada por padrão quando /Yc é usada para criar um arquivo de cabeçalho pré-compilado.

A opção /Ylname é usada para criar um símbolo identificável no arquivo de cabeçalho pré-compilado. O compilador usa o argumento name como parte do nome de símbolo decorado que ele cria, semelhante a __@@_PchSym_@00@...@name, em que as reticências (...) representam uma cadeia de caracteres exclusiva gerada pelo compilador. Se o argumento name for omitido, o compilador gerará automaticamente um nome de símbolo. Normalmente, você não precisa saber o nome do símbolo. No entanto, quando o projeto usa mais de um arquivo de cabeçalho pré-compilado, a opção /Ylname pode ser útil para determinar quais arquivos de objeto usam qual cabeçalho pré-compilado. Você pode usar name como uma cadeia de caracteres de pesquisa para localizar a referência do símbolo em um arquivo de despejo.

/Yl- desabilita o comportamento padrão e não coloca um símbolo de identificação no arquivo de cabeçalho pré-compilado. Os arquivos compilados que incluem esse cabeçalho pré-compilado não recebem uma referência de símbolo comum.

Quando /Yc não é especificada, as opções /Yl não terão efeito, mas se especificada, ela deverá corresponder a qualquer opção /Yl passada quando /Yc for especificado.

Se você usar as opções /Yl-, /Yc e /Z7 para criar um arquivo de cabeçalho pré-compilado, as informações de depuração serão armazenadas no arquivo de objeto do arquivo de origem usado para criar o cabeçalho pré-compilado, em vez de um arquivo .pdb separado. Se esse arquivo de objeto fizer parte de uma biblioteca, os erros LNK1211 ou avisos LNK4206 poderão ocorrer em builds que usarem essa biblioteca e o arquivo de cabeçalho pré-compilado, caso o arquivo de origem usado para criar o arquivo de cabeçalho pré-compilado não defina nenhum símbolo. O vinculador poderá excluir o arquivo de objeto do link, juntamente com as informações de depuração associadas, quando nada no arquivo-objeto estiver referenciado no cliente da biblioteca. Para resolver esse problema, especifique /Yl (ou remova a opção /Yl-) ao usar /Yc para criar o arquivo de cabeçalho pré-compilado. Isso vai garantir que o arquivo-objeto da biblioteca que contém as informações de depuração seja vinculado em seu build.

Para obter mais informações sobre cabeçalhos pré-compilados, confira:

Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

  3. Adicione a opção do compilador /Ylname na caixa Opções Adicionais. Escolha OK para salvar suas alterações.

Para definir essa opção do compilador via programação

Confira também

Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC