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.

Répondre à