Merci pour les precisions.

En mettant tout bout a bout et avec les docs, je commence a comprendre ce qui 
se passe.

"Examens", c'est quoi encore ce truc ;-)))))

Philippe

Le Jeudi 21 Juin 2001 08:41, Gerd-Christian Michalke a écrit :
> On Thu, 21 Jun 2001, CHARLIER Philippe wrote:
> > Hem,
>
> Yep !
>
> > > cc -I/usr/include/SDL -D_REENTRANT   -c -o mouse.o mouse.c
> > > cc -o cmouse mouse.o -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lm
> > >
> > > Je les ai essayees sur mon programme : OK ca marche.
> > >
> > > Probleme 1 : Je ne les comprends pas (c'est un demi probleme).
> > >
> > > Probleme 2 : Meme en sucant mon pouce, j'aurais ete incapable de les
> > > trouver. Comment faire pour "deviner" les options a utiliser lorsque
> > > l'on veux compiler un programme personnel.
>
> D'entree de jeux:
>
> (si je dis une betise, corrigez moi)
>
> Il faut separer le moment de la compilation (ligne 1) du linkage (ligne
> 2). En fait, dans le premiere ligne, tu lui demande (grace a l'option -c)
> de traduire ton code c en binaire. Logiquement, sans l'instruction
> -Ibla/..., il aurait du te donner un message du genre
>
> In file bla.c
>       chose.h not found at line Y
>
>
> (en fait, les repertoires a partir des quels tu pourra faire une
> instruction de type
> #include <youkoulele.h>
>
> Qu'en retenons nous: -I/bla/ permet de specifier le chemin ou se trouvent
> les fichieres include. La directive -D_REENTRANT est pour specifeir un
> symbole de compilation (comme qd tu compiles un kernel; il met un truc du
> genre -D_KERNEL_ -- chai pu, pas de linux sous la main) qui sera exploite
> par des instructions de type #ifdef YO
>
> Dans la ligne 2, on procede au linkage, c'est a dire l'edition des liens
> avec des libraires existantes (en tres simplifie, dans le cadre des
> librairies dynamiques, les references a la table des symboles dans les
> libs.)
>
> Iic, vec la directive -L/yo/ tu lui specifie ou trouver les libs en
> question, et -lyo permet de faire l'edition des liens avec la libraire
> libyo.so.x.y
>
> A partir de -W, je sais pas ;-(
>
> En conclusion, que devons nous retenir pour simplifier la compilation
> - specifier le chemin des includes avec -I
> - le chemin des libs avec -L
> - et les librairies dont se servira le programme au moyen de -lyo ou le
> fichier librairie sera libyo.so
>
> Hope it helps
>
> Gerd
>
>
> Alleie, la dessus, encore bon amusement pour les gens qui sont encore en
> examen (plus que deux ! -- aaaaagh)
>
> > > Merci d'avance.
> > >
> > > Philippe
> > >
> > > PS. : J'etais deja "tombe sur le cul" il y a quelques temps lorsque je
> > > n'arrivais pas a compiler un programme utilisant "math.h" et que j'ai
> > > decouvert qu'il fallait le parametre -lm a la commande gcc.
> > >
> > > RePS : Il y a bien "man gcc", mais bon, avant d'arriver au bout je vais
> > > passer 20 ans a comprendre le compilateur et 0 a programmer ... or
> > > c'est maintenant que je veux programmer ;-)
>
> [ Soyez précis dans vos sujets svp afin de déterminer directement  ]
> [ le type de demande...                                            ]
> [ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
> [ http://LinuxBe.org              Contact: [EMAIL PROTECTED]  ]

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://linuxbe.org/ml.php     ]
[ http://LinuxBe.org              Contact: [EMAIL PROTECTED]  ]

Répondre à