Probleme compilation

Résolu/Fermé
Pierre - 28 mars 2014 à 23:08
 Pierre - 29 mars 2014 à 16:30
Bonjour,
je suis en train de faire un programme, et je rencontre un problème lors de la compilation,
ce message s'affiche :

Undefined symbols for architecture x86_64:
"_affiche", referenced from:
_jeu in fonction_projet2-7f0099.o
"_initialisation", referenced from:
_jeu in fonction_projet2-7f0099.o
"_menu", referenced from:
_jeu in fonction_projet2-7f0099.o
(maybe you meant: _menu3, _menuTourn , _menu2 )
"_viderTampon", referenced from:
_menuTourn in fonction_projet2-7f0099.o
_menu2 in fonction_projet2-7f0099.o
_menu3 in fonction_projet2-7f0099.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

je ne trouve pas d'où viens le problème, pouvez vous m'aidez s'il vous plait
merci

ps : j'utilise OSX 10.9.2

2 réponses

tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
28 mars 2014 à 23:11
Pourrait-on voir le code source svp?
0
voici mon code source :

http://r9mjflwk8c.cjoint.net/
0
tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
29 mars 2014 à 10:41
désolé je ne vois pas. En fait le code est trop compliqué pour moi :(
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
29 mars 2014 à 11:35
Bonjour,

Tu utilises une bibliothèque spéciale ?
Si oui, l'appelles-tu bien au moment de la compilation ?

Cdlt,
0
Bonjour fiddy,

je ne pense pas que le problème vienne d'une bibliothèque, puisque lorsque je met tout mon code dans un seul fichier, celui ci compile parfaitement
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
29 mars 2014 à 12:55
Moi je pense le contraire...
"_affiche", referenced from:
_jeu in fonction_projet2-7f0099.o


linker command failed with exit
Bref, il y a un problème lors de l'édition des liens.
Donc, je repose la question : utilises-tu une bibliothèque externe dans ton programme ? Comment compiles-tu le programme ? Quel compilateur utilises-tu ?
0
Je suis novice en C donc niveau bibliothèque je ne m'y connais pas trop,

Je compile depuis la console avec : gcc fonction_projet2.c -Wall -o fonction_projet2

Je suis sous Mac OSX 10.9.2, en C99
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
29 mars 2014 à 14:34
La commande de compilation n'est pas correcte.
Utilise plutôt : gcc -c fonction_projet2.c -Wall -o fonction_projet2.o, pareil pour fonction_projet1 et ensuite : gcc fonction_projet1.o fonction_projet2.o -o projet

Pourquoi ne pas utiliser le makefile qui me semble correct ? Tu as juste à écrire make, et ça roule ;-)))
0
Le makefile me semble juste aussi mais lors de l'appel j'ai cette erreur :
Makefile:2: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.

sinon sa fonctionne très bien avec vos instructions merci :)
0