Condividi tramite


Utilizzo di $(Inherit) e $(NoInherit)

Aggiornamento: novembre 2007

In questa sezione verranno forniti alcuni esempi su come utilizzare le macro $(Inherit) e $(NoInherit).

  • Impostare il seguente percorso di inclusione aggiuntivo (/I) a livello di progetto:

    c:\test
    
  • Per un determinato file, impostare il seguente percorso di inclusione aggiuntivo:

    c:\test2;c:\mystuff
    
  • Osservare la pagina delle proprietà Riga di comando del file. Essa include:

    /I"c:\test2" /I"c:\mystuff" /I"c:\test"
    

    Ciò accade in quanto è presente una macro $(Inherit) implicita alla fine dei percorsi di inclusione aggiuntivi della configurazione del file se $(Inherit) non è inserita esplicitamente nell'elenco.

  • Se tuttavia si modifica il percorso di inclusione aggiuntivo della configurazione del file nel modo seguente:

    c:\test2;$(Inherit);c:\mystuff
    

    verrà espanso nel modo seguente nella pagina delle proprietà Riga di comando del file:

    /I"c:\test2" /I"c:\test" /I"c:\mystuff"
    

    Il percorso di inclusione aggiuntivo dalla configurazione del progetto si trova nel punto in cui è stata inserita la macro $(Inherit). La macro $(Inherit) viene utilizzata per garantire l'inserimento dei valori ereditati che fanno parte di questa proprietà. Può trovarsi in qualunque punto dell'elenco.

  • Se si modifica il percorso di inclusione aggiuntivo della configurazione del file nel modo seguente:

    $(Inherit);c:\test2;$(Inherit);c:\mystuff
    

    verrà espanso nel modo seguente nella pagina delle proprietà Riga di comando del file:

    /I"c:\test" /I"c:\test2" /I"c:\test" /I"c:\mystuff"
    
  • Se si modifica il percorso di inclusione aggiuntivo della configurazione del file nel modo seguente:

    c:\test2;c:\mystuff;$(NoInherit)
    

    verrà espanso nel modo seguente nella pagina delle proprietà Riga di comando del file:

    /I"c:\test2" /I"c:\mystuff"
    

    La parte /I"c:\test" dalla configurazione del progetto non è più presente. La posizione della macro $(NoInherit) non incide sul modo in cui viene utilizzata, a differenza di $(Inherit), che tiene conto della posizione.

$(NoInherit) ha la precedenza su $(Inherit). Se $(NoInherit) è presente, $(Inherit) verrà ignorata. La modifica, ad esempio, del percorso di inclusione aggiuntivo della configurazione del file in quanto segue:

c:\test2;$(Inherit);c:\mystuff;$(NoInherit)

determinerà l'espansione esattamente come se si trattasse di:

c:\test2;c:\mystuff;$(NoInherit)

Utilizzare con particolare cautela $(NoInherit) nella proprietà Definisci per strumenti quali il compilatore o il linker C/C++. È possibile annullare l'utilizzo delle impostazioni predefinite del progetto (come quelle impostate da Uso di ATL e Uso di MFC).

Vedere anche

Altre risorse

Macro per comandi e proprietà di generazione