Partager via


Types de propriétés (C++)

Mise à jour : novembre 2007

Le système de projet distingue les propriétés en deux types : propriétés simples et propriétés d'agrégat. Chaque type de propriété est évalué différemment vis-à-vis de l'héritage de propriété.

Propriétés simples

Les propriétés simples sont toutes des propriétés qui ne sont pas des chaînes, comme des propriétés entières, booléennes et enum, et ne peuvent contenir qu'une seule valeur. Si elles sont définies au niveau local (cette configuration de fichier, cette configuration ou cette feuille de propriétés), la valeur héritée est alors ignorée. Un exemple d'une propriété de ce type est la propriété WarnAsError, qui définit le commutateur /WX pour CL.EXE.

Propriétés d'agrégat

Les propriétés d'agrégat sont toujours des propriétés de type chaîne. La valeur d'une propriété d'agrégat, définie à quelque niveau que ce soit, est concaténée avec la valeur de son parent. Un exemple de propriété d'agrégat est la propriété AdditionalIncludeDirectories qui définit le commutateur /I pour CL.EXE. Les propriétés de chemins d'accès sont de bons exemples de propriétés d'agrégat car ils comprennent une liste de plusieurs valeurs, et ne se réduisent pas à une seule valeur.

Trois macros intégrées spéciales contrôlent l'évaluation de propriété pour les propriétés d'agrégat :

  • $(Inherit)
    Spécifie d'évaluer les valeurs de propriété du parent et insère ces valeurs à la place de la macro. Lorsque $(Inherit) n'est spécifié nulle part, il est implicitement à la fin de la valeur, ce qui signifie que les valeurs du parent seront ajoutées à la valeur au niveau actuel.

  • $(NoInherit)
    Spécifie de ne pas ajouter les valeurs de propriété du parent à la propriété d'agrégat. La macro $(NoInherit) substitue la macro $(Inherit).

  • $(StopEvaluating)
    Spécifie d'arrêter toute l'évaluation sur la propriété d'agrégat particulière où la macro a été rencontrée. Toute valeur située après la macro $(StopEvaluating) est perdue.

Voir aussi

Concepts

Évaluation des propriétés héritées

Héritage de propriété