Probleme compilation

Résolu
Pierre -  
 Pierre -
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. Utilisateur anonyme
     
    Pourrait-on voir le code source svp?
    0
    1. Pierre
       
      voici mon code source :

      http://r9mjflwk8c.cjoint.net/
      0
    2. Utilisateur anonyme
       
      désolé je ne vois pas. En fait le code est trop compliqué pour moi :(
      0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

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

    Cdlt,
    0
    1. Pierre
       
      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
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
    3. Pierre
       
      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
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
    5. Pierre
       
      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