Très bien, ça va marcher. Mais ensuite, si je n'inclue pas libA.a dans libB.a, comment est-ce que je saurai dans les programmes qui vont utiliser libB.a qu'il faudra que j'include libA.a ?
Je pourrais très bien avoir le cas suivant : libA.a libB.a contient libA.a libC.a contient libB.a libD.a contient libC.a et mon programme utilise libD.a. Au momen de la compilation de mon programme, je devrai donc avoir -lD -lC -lB -lA, alors que je n'utilise que les fonctions de libD.a. Je trouve ça plutôt embêtant. Y'a pas un moyen d'éviter ça ? On Friday 28 December 2001 22:44, Olivier wrote: > Hello, > > > J'ai trois librairies, compilées en relogeables : libA.a, libB.a et > > libC.a. libB.a et libC.a font référence à des fonctions de libA.a. > > > > Les makefiles de B et de C contiennent donc libA.a dans la partie link. > > Ben non, faut pas. > > > Pour anticiper les questions, oui, les headers contiennent les ifndef > > nécessaires pour ne pas être inclus plusieurs fois. Le problème semble se > > passer au link de mon programme final. > > Juste. Il faut bien les include de libA dans libB et libC, mais pas de -lA > au link. > > > Y'a-t-il donc un moyen d'indiquer au link que je ne veux pas inclure les > > fonctions de libA.a lorsque j'utilise libC.a, puisqu'elles sont déjà > > includes par le biais de libB.a ? Ou ne faut-il pas include libA.a dans > > libB.a et libC.a ? > > Juste. Pour générer libB.a et libC.a, il faut pas de -lA au link. Et quand > tu vas utiliser libB (par exemple), tu devras mettre -lA -lB pour générer > l'exécutable. > > J'espère que ça répond à ta question. > > Bonne fêtes à tous. > > Olivier -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.