Probleme compilation

Résolu
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

  1. Pourrait-on voir le code source svp?
    1. voici mon code source :

      http://r9mjflwk8c.cjoint.net/
    2. désolé je ne vois pas. En fait le code est trop compliqué pour moi :(
  2. Contributeur
    Bonjour,

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

    Cdlt,
    1. 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
    2. Contributeur
      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 ?
    3. 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
    4. Contributeur
      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 ;-)))
    5. 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 :)