Dans les propriétés de configuration de mon projet, sous les "répertoires VC++", il y a une entrée pour "Inclure les répertoires". Mais sous l'option "C/C++", il existe une autre entrée appelée "Additional Include Directories". La même chose se produit avec les répertoires de bibliothèque.
Quelle est la différence entre ces deux entrées?
C'est une maladresse qui a été introduite dans VS2010. Les paramètres des répertoires VC++ se trouvaient auparavant dans Outils + Options, Projets et solutions, Répertoires VC++. Paramètres globaux qui s'appliquent à chaque projet créé sur la machine. Il est toujours là mais souligne que vous devez maintenant le modifier dans les paramètres de votre projet. Un effet secondaire de la refonte du moteur de construction dans VS2010, permettant la construction avec msbuild. La suppression des paramètres par projet aurait été logique mais cela casserait trop de projets existants.
En tant que tel, il est probablement préférable de traiter les paramètres des répertoires VC++ comme valeur par défaut de la machine. Il est automatiquement prédéfini par l'installateur VS. Ne bricolez avec elle que si vous avez besoin d'un ordre de recherche d'annuaire inhabituel, en mettant les emplacements personnalisés en dernier. Très inhabituel de le faire.
Cela fonctionne cependant. Et il a finalement été mis à profit. Renforcement du paramètre Platform Toolset dans VS2012 et versions ultérieures. Compilateur différent, éditeur de liens différent, répertoires #include différents, chemin de recherche de l'éditeur de liens différent. Modifié avec un seul réglage, Nice.
Inclure les répertoires correspond à la variable d'environnement INCLUDE
.
Les paramètres de répertoire affichés dans la fenêtre sont les répertoires que Visual Studio recherchera pour inclure les fichiers référencés dans vos fichiers de code source. Correspond à la variable d'environnement INCLUDE.
Alors que les Additional Include Directories sont transmis via un argument de ligne de commande (c'est-à-dire le \I
option).
INCLUDE
Windows définie en dehors de Visual Studio INCLUDE
et LIB
sont créées lorsque le SDK Microsoft Windows est installé avec Visual Studio .La décision d'utiliser des répertoires d'inclusion ou des répertoires d'inclusion supplémentaires dépendra de votre processus de développement de l'organisation. À mon avis, il est plus important:
#define
Du préprocesseur C++) héritent du contenu de différentes sources. Des macros comme ... $(Include)
hérite de leurs valeurs des variables d'environnement Windows $(OutDir)
hérite de leurs valeurs de Visual Studio IDE