Compilation gcc

Fermé
trinity666 Messages postés 127 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 17 août 2011 - 21 mars 2006 à 11:35
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 22 mars 2006 à 09:42
bonjour
je ne peux pas joindre le fichier mais on a un fichier objet que l'on doit transformer en executable avec gcc ce fichier contient des bugs on doit trouver les bugs avec ddd et il est impossible de le compiler
g tapé cette cmd
gcc -o bug -I /usr/includes -L /usr/lib -lcheck file2.o-linux
mais rien a faire il ne veut pas compiler
il affiche: /usr/lib/gcc/... ctr1.o undefined reference to main

comment faire
le prj est noté pr jeudi
merci par avance

6 réponses

Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 329
21 mars 2006 à 12:23
Salut.
déjà, la commande -I... est inutile ensuite il manque un espace entre file2.o et -linux (etrange d'ailleur comme comande, j'aurai vu plutot -llinux)
Est tu sur que le fichier objet a été compilé sur la même architecture ?
vérifie qu'il y a bien un main dans 'file2.o'
0
trinity666 Messages postés 127 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 17 août 2011 2
21 mars 2006 à 12:25
ce n'est pas une commande c le fichier objet ki s'appelle file2.o-linux
0
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 329
21 mars 2006 à 13:31
ok. possibilité : gcc se base souvent sur les extensions, il est possible qu'il ignore ou qu'il ne comprenne pas le fichier.
Essai de le renommer en file2.o; avec un peu de chance ça debloquera le truc. Tu n'a pas répondu, as tu bien un main dans ton fichier objet?
0
trinity666 Messages postés 127 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 17 août 2011 2
21 mars 2006 à 17:14
en fait ca ne compile pas non plus quend on change l'extension ;il n' y a pas de main ds le fichier d'origine le main se trouve ds checkFile2.c
mais je ne c pas comment faire pr compiler

merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 524
21 mars 2006 à 17:21
Il n'y a pas d'espace entre -I et ses arguments.
Pareil avec -L

Normalement ça devrait être
-I/usr/includes -L/usr/lib

Mais bon ces repertoires sont normalement inclus par défaut pour gcc.
D'ailleurs généralement c'est include au singulier.
0
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 329
22 mars 2006 à 09:42
Ok, on avait pas toute les donnée !!
Pour compiler alors, il faut faire ça :
gcc checkFile2.c -c -I/usr/includes
tu obtient alors checkFile2.o. Ensuite:
gcc -o bug -L/usr/lib checkFile2.o File2.o -lcheck
et ça devrai fonctionner!
0