/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
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.
Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.
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
- Consulte AdditionalOptions.
Confira também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC