Usando $(Inherit) e $(NoInherit)
Este tópico fornece alguns exemplos sobre como usar o $(Inherit) and $(NoInherit) macros.
Conjunto de procedimentos adicionais incluir caminho (/I) no nível do projeto:
c:\test
Um arquivo específico, conjunto de procedimentos adicionais incluir caminho:
c:\test2;c:\mystuff
Observe Linha de comando propriedade página.Ele inclui:
/I"c:\test2" /I"c:\mystuff" /I"c:\test"
Isso ocorre porque há um implícita $(Inherit) no participante da configuração de arquivo adicional incluem caminhos se $(Inherit) não está colocado na lista explicitamente.
No entanto, se você alterar a configuração do arquivo do adicional incluir caminho para isso:
c:\test2;$(Inherit);c:\mystuff
ele se expandirá para o seguinte em Linha de comando página de propriedades:
/I"c:\test2" /I"c:\test" /I"c:\mystuff"
Observe que o adicional incluir caminho da configuração de projeto é onde o $(Inherit) macro foi colocada. The $(Inherit) macro é usada para orientar o posicionamento dos valores herdados que fazem parte desta propriedade. Ela pode ficar em qualquer lugar na lista.
Se você alterar a configuração do arquivo do adicional incluir caminho para isso:
$(Inherit);c:\test2;$(Inherit);c:\mystuff
ele se expandirá para o seguinte em Linha de comando página de propriedades:
/I"c:\test" /I"c:\test2" /I"c:\test" /I"c:\mystuff"
Se você alterar a configuração do arquivo do adicional incluir caminho para isso:
c:\test2;c:\mystuff;$(NoInherit)
ele se expandirá para o seguinte em Linha de comando página de propriedades:
/I"c:\test2" /I"c:\mystuff"
Observe que /I"c:\test" o projeto configuração é perdida. O local do $(NoInherit) macro tem não relação como ele é usado, diferentemente $(Inherit), que depende do local.
$(NoInherit) tem precedência sobre $(Inherit). If $(NoInherit) está presente, $(Inherit) será ignorado. Por exemplo, a alteração das configurações de arquivo do adicional incluir caminho para isso:
c:\test2;$(Inherit);c:\mystuff;$(NoInherit)
irá expandi-la exatamente sistema autônomo se fosse:
c:\test2;c:\mystuff;$(NoInherit)
Tenha cuidado com $(NoInherit) no Define propriedade para ferramentas sistema autônomo o compilador C/C ++ ou vinculador; você pode cancelar o uso de padrões de projeto (tais sistema autônomo aquelas conjunto por Uso do ATL and Uso do MFC).