Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
303 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Une erreur à la compilation

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une erreur à la compilation

n°1997284
rahela
Posté le 30-05-2010 à 19:04:49  profilanswer
 

Bonjour !  
j'ai une erreur qui survient je ne sais d'où lorsque je compile :  
>>gcc td1.c -o test
/tmp/cc9L0eFL:td1.c(.text+0x1ab): undefined reference to '_factorielle' collect2: ld returned 1 exit status
 
Voici le code :

Code :
  1. #include <stdio.h>
  2. int factorielle_boucle(int n){
  3.      int produit=1;
  4.      while(n!=1){
  5.       produit*=n;
  6.       n--;
  7.      }
  8.      return produit;
  9. }
  10. int factorielle_recur(int n){
  11.      if(n==1) return 1;
  12.      else return n*factorielle(n-1);
  13. }
  14. int main(void){
  15.      printf("fact boucle : %d\n",factorielle_boucle(5));
  16.      printf("fact recur : %d\n",factorielle_recur(5));
  17. }


 
Cependant, si je change le nom de la méthode "factorielle_boucle" en "factorielle" je n'ai plus d'erreur....
Comment cela se fait il?
Merci d'avance, bonne soirée

mood
Publicité
Posté le 30-05-2010 à 19:04:49  profilanswer
 

n°1997287
Un Program​meur
Posté le 30-05-2010 à 19:14:22  profilanswer
 

Ligne 14.  En passant, -Wall -W est le niveau minimum de warning a utiliser avec gcc.
 


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1997290
billgatesa​nonym
Posté le 30-05-2010 à 19:18:12  profilanswer
 

else return n*factorielle(n-1);

Cette ligne appelle la fonction (on parle de fonction plutôt que de méthode) qui se nomme "factorielle". Il faudrait donc qu'elle existe. Il faudrait probablement faire plutôt un appel à la fonction "factorielle_recur".

n°1997294
rahela
Posté le 30-05-2010 à 19:25:30  profilanswer
 

oh la honte.... :( merci pourtant j'utilise tout le temps -Wall , mais comme c'était un petit programme tout simple qui ne fait aucun mal j'ai pas pensé.... merci....

n°1997295
rahela
Posté le 30-05-2010 à 19:26:06  profilanswer
 

merci bien , c'est fou de ne pas voir ce genre d'erreur...

n°1997315
gatsu35
Posté le 30-05-2010 à 21:04:29  profilanswer
 

le message d'erreur était pourtant super clair :/
Il faut savoir lire les messages d'erreur, et ne pas s'arrêter au mot "error" :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Une erreur à la compilation

 

Sujets relatifs
compilation erreur[RESOLU] Erreur à la compilation :(
[Qt/qwt] erreur de compilationErreur de compilation apres une mise en forme en classes
Erreur de compilation Java "cannot find symbol" sous ubuntu 9.04Erreur à la compilation en utilisant driver postgresql. Classpath?
Erreur à la compilation[VBA] erreur de compilation procédure trop grande
[Resolu]Erreur de compilation 
Plus de sujets relatifs à : Une erreur à la compilation


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR