Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1351 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Visual C++] Comment forcer une priorité aux répertoires d'include ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Visual C++] Comment forcer une priorité aux répertoires d'include ?

n°1469846
xman
branleur
Posté le 03-11-2006 à 11:49:55  profilanswer
 

Bonjour,
 
Je bosse sur un gros projet (incluant plusieurs projets).
J'ai un répertoire "common" à la racine dans lequel j'ai mis tous les fichiers qui peuvent se retrouver dans plusieurs des sous-projets.
Un des sous projets contient encore des sous-projets qui ont besoin à la fois des fichiers dans le common général mais aussi dans un répertoire common à eux.
Ca donne une arborescence genre :
 

Code :
  1. Projet principal
  2.      common
  3.      Projet1
  4.      Projet2
  5.           common2
  6.           SousProjetA
  7.           SousProjetB
  8.      Projet3
  9.      Projet4


 
Dans les paramètres des sous-projets A et B, j'ai donc indiqué au précompilateur d'aller chercher les fichiers dans common2 et common avec /I "common2" /I "common" (j'ai aussi essayé dans l'ordre /I "common" /I "common2" et ça fait pareil).
 
Maintenant mon problème, c'est qu'en fait, dans mon common2, j'ai des fichiers censés être utilisés A LA PLACE de certains fichiers de common. Mais le compilateur va me chercher systématiquement la version dans common.
 
 
Pour être plus précis, voici ce qui se passe :
 
Dans Projet2/SousProjetA/fichier1.cpp, j'ai un #include "toto.h".
Dans Projet2/SousProjetA/fichier2.cpp, j'ai un #include "tata.h".
toto.h existe en 2 versions distinctes dans common et common2.
tata.h n'existe que dans common.
Dans common/tata.h j'ai un #include "toto.h"
 
tata.h me prend évidemment le toto.h qui est dans son répertoire or je voudrais qu'il me prenne celui qui est dans common2... Mais uniquement pours les projets incluant common2.
Bref, lorsque le precompilateur va rechercher toto.h je voudrais le forcer à regarder d'abord dans common2.
 
Y a-t-il un moyen ?
 
Ma seule autre solution est de n'avoir qu'une seule version de toto.h (dans common) et de le modifier dans le genre :

Code :
  1. #ifdef PROJET2
  2.   // contenu de common2/toto.h
  3. #else
  4.   // contenu de common/toto.h
  5. #endif


 
L'ennui c'est que je n'ai pas qu'un seul fichier à modifier mais une grosse poignée !
J'aimerais donc "simplement" forcer Visual, pour les sous projets du Projet2, à chercher les fichiers includes D'ABORD dans common2 puis dans common (s'il ne les a pas trouvés dans common2).


Message édité par xman le 03-11-2006 à 11:55:44
mood
Publicité
Posté le 03-11-2006 à 11:49:55  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Visual C++] Comment forcer une priorité aux répertoires d'include ?

 

Sujets relatifs
Avantages de Visual Studio 2005 Standard sur Visual C# 2005 ExpressVisual Studio : récuperer le contenu d'un url (~wget)
Forcer le telechargementVisual Studio : Placer un outil dans le FORM
Wamp 5 : ne gère pas les include() ?Visual Studio 6.0 et XP64
[Visual Studio] Ré-indenter le codePobleme d'installation de Visual Studio 2005
Fct sleep avec visual.net 2003Utilisation de atlimage.h (GDIplus) avec Visual C++ 6.0
Plus de sujets relatifs à : [Visual C++] Comment forcer une priorité aux répertoires d'include ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR