2

J'essayais de configurer une application Ogre3D et j'ai mis une variable système "OGRE_HOME" dans le répertoire personnel du SDK. Ensuite, j'ai défini les propriétés du projet, comme les répertoires include dans les propriétés du projet, en utilisant la variable système $(OGRE_HOME). Mais quand j'ai essayé de compiler l'application, le compilateur n'a pas trouvé les fichiers d'en-tête, donc j'ai dû "coder en dur" le chemin du SDK vers les propriétés du projet.Pourquoi Visual Studio 2010 ne "décompresse" pas la variable système?

J'ai d'abord défini la variable avec la commande setx, puis j'ai essayé de la déplacer vers les variables système mais cela n'a pas aidé. Cependant, je n'ai pas essayé de redémarrer le système.

+3

Comme indiqué dans la documentation setx, la nouvelle variable d'environnement ne s'applique pas aux processus existants. –

Répondre

3

MSBuild est-ce que étend les variables d'environnement. $(OGRE_HOME) devrait fonctionner très bien.

Le seul problème est que Visual Studio met en cache les valeurs de ces variables d'environnement fortement, donc les modifications que vous apportez ne seront pas immédiatement reflétées.

Il y a deux façons générales pour modifier les valeurs des variables d'environnement, et ces deux vont mal avec VS:

  • Modification des valeurs de la ligne de commande affecte uniquement les applications lancées à partir de la ligne de commande . Comme vous lancez probablement VS à partir d'un raccourci via l'Explorateur, il n'héritera pas des nouvelles valeurs.

  • La modification des valeurs via les propriétés de l'ordinateur devrait normalement fonctionner car cette boîte de dialogue diffuse a global message indiquant que les variables d'environnement persistantes ont changé. Malheureusement, VS ne semble pas écouter ces messages et mettre à jour son cache.

Mais, le redémarrage (ou vous déconnecter, puis sur) devrait résoudre le problème, car cela provoquera VS pour actualiser les valeurs des variables d'environnement.

Il est également à noter que user macros sont une alternative aux variables d'environnement. VS 2010 fournit un moyen très efficace de les implémenter via le Property Manager. Vous pouvez créer une feuille de propriétés de projet avec vos paramètres, qui peuvent ensuite être attachés à plusieurs projets afin qu'ils héritent tous de ces paramètres. Cela ne fonctionne pas en dehors de VS, mais cela peut être très pratique si vous faites tout votre travail de développement là-bas.

Questions connexes