-
Lib croissées :(
Bonjour a tous.
J'ai un leger pb d'inclusion de lib. Soit deux dll A et B, A utilise B et B utilise A.
donc dans A j'ai un #include B et dans B un #include A
Avec la declaration nanticpée ça ce passe pas trop mal dirons nous, par contre dans le options du projet (VS 2003) j'ai une inclusion de A.lib dans le projet B et de B.lib dans le projet A
Et evidement quand je compile A il me dit que B.lib existe pas et inversement :(
Comment faire pour ce sortir de ce mauvais pas ?
-
Faire une DLL "fantôme", c'est à dire qui contient toutes les fonctions de ta DLL, mais avec rien derrière (donc elle n'aura pas besoin d'une autre librairie). Donc, pour résumer:
1) Compiler la DLL fantôme b.dll
2) Compiler a.dll avec b.lib
3) Compiler la vraie b.dll avec a.lib
Bon courage
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_core_mutual_imports.asp
-
La manière propre, je pense, c'est d'essayer de supprimer la dépendance cyclique. C'est un design problématique, pas seulement pour la compilation.
Normalement en "déplaçant" une partie de A et/ou B dans une 3° lib tu devrais y arriver.
-
vi
Exactement la voie suivie, merci pour vos reponse ;)
L'archi est plutot style usine a gaz d'ou les problemes, mais ça v aller
Merci encore ;)