[Linux] comment faire pow en C ?

comment faire pow en C ? [Linux] - C++ - Programmation

Marsh Posté le 05-04-2003 à 17:15:19    

salut,
 
je n'arrive pas à faire un "pow" sous linux ... Il doit surement y avoir un problème avec math.h mais je ne sais pas comment faire.
 
si quelqu'un peut m'aider ...
 
 

Code :
  1. #include <stdio.h>
  2. #include <math.h>
  3. main()
  4. {
  5.   int a=2;
  6.   int b=2;
  7.   printf ("%d",pow(a,b));
  8. }

 
 
 

Code :
  1. gmake all-recursive
  2. gmake[1]: Entering directory `/home/pizz/Project'
  3. Making all in pow
  4. gmake[2]: Entering directory `/home/pizz/Project/pow'
  5. gcc -DHAVE_CONFIG_H -I. -I. -I.. -O2 -O0 -g3 -Wall -c main.c
  6. main.c:6: warning: return type defaults to `int'
  7. main.c: In function `main':
  8. main.c:10: warning: int format, double arg (arg 2)
  9. main.c:12: warning: control reaches end of non-void function
  10. main.c:12:2: warning: no newline at end of file
  11. /bin/sh ../libtool --mode=link gcc -O2 -O0 -g3 -Wall -o pow main.o
  12. gcc -O2 -O0 -g3 -Wall -o pow main.o
  13. main.o(.text+0x39): In function `main':
  14. /home/pizz/Project/pow/main.c:10: undefined reference to `pow'
  15. collect2: ld returned 1 exit status
  16. gmake[2]: Leaving directory `/home/pizz/Project/pow'
  17. gmake[2]: *** [pow] Erreur 1
  18. gmake[1]: Leaving directory `/home/pizz/Project'
  19. gmake[1]: *** [all-recursive] Erreur 1
  20. gmake: *** [all-recursive-am] Erreur 2
  21. *** failed ***

 
 
Merci  :jap:


Message édité par Pizz le 05-04-2003 à 17:16:19

---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 05-04-2003 à 17:15:19   

Reply

Marsh Posté le 05-04-2003 à 17:17:54    

-lm pour les options au link (1865 fois, mais t'inquiète pas, tout le monde fait la connerie le premier coup)


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 05-04-2003 à 17:30:11    

tu peux m'aider un peu plus (ou si tu as un lien), parce que je n'ai rien compris  :cry:  
 
j'utilise KDevelop. J'ai essayé xwpe et j'ai le même problème.
 
Merci beaucoup  :jap:


---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 05-04-2003 à 18:28:05    

printf ("%d",pow(a,b));
 
vu pow retourne un double et que toi tu l'affiche sous forme d'entier sans faire de conversion tu risques d'avoirs des surprises

Reply

Marsh Posté le 05-04-2003 à 19:26:41    

j'ai mis des double et %f et j'ai le même problème, il ne reconnaît pas pow  :(


---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 05-04-2003 à 19:30:14    

Pizz a écrit :

j'ai mis des double et %f et j'ai le même problème, il ne reconnaît pas pow  :(  


 
T'as bien rajouté la biblio mathématique avec l'option -lm comme kadreg l'a dit en 1er ?


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 05-04-2003 à 20:21:18    

pas mieux, ajoute -lm et reviens si ça foire tjs ...

Reply

Marsh Posté le 05-04-2003 à 23:35:06    

Pizz a écrit :

j'ai mis des double et %f et j'ai le même problème, il ne reconnaît pas pow  :(  


 
non, c sur, mais avec ta vieille version t'allais avoir de sales pb de formatage. Bref, -lm :O

Reply

Marsh Posté le 05-04-2003 à 23:41:14    

hum pour pas t'embeter , dans kdevelop tu va dans les options de t'on projet ( project -> option ) puis tu va dans Linker Option ( le 4 eme boutton en partant d'en haut ) et tu coche la case Math et hop ce devrait marcher ( ici ca marche )

Reply

Marsh Posté le 06-04-2003 à 09:34:26    

bilbobman a écrit :

hum pour pas t'embeter , dans kdevelop tu va dans les options de t'on projet ( project -> option ) puis tu va dans Linker Option ( le 4 eme boutton en partant d'en haut ) et tu coche la case Math et hop ce devrait marcher ( ici ca marche )


 
merci, ça marche comme ça  :love:  


---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 06-04-2003 à 09:34:26   

Reply

Marsh Posté le 06-04-2003 à 09:37:34    

Tetragrammaton IHVH a écrit :


 
T'as bien rajouté la biblio mathématique avec l'option -lm comme kadreg l'a dit en 1er ?


 
Comment on rajoute la biblio math avec l'option -lm ?
 
(j'en ai plus besoin mais j'aimerai savoir quand même)
 
merci


---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 06-04-2003 à 09:52:05    

Pizz a écrit :


 
Comment on rajoute la biblio math avec l'option -lm ?
 
(j'en ai plus besoin mais j'aimerai savoir quand même)
 
merci


 
ben normalement c sur la ligne de commande (ou dans ton makefile), au niveau de l'appel a gcc

Reply

Marsh Posté le 06-04-2003 à 10:20:44    

chrisbk a écrit :


 
ben normalement c sur la ligne de commande (ou dans ton makefile), au niveau de l'appel a gcc


 
ok, merci  :jap:  
 
je me sens moins con maintenant  :sol:


---------------
C'est quand on a le nez dans la tomate qu'on voit mieux la tomate !
Reply

Marsh Posté le 06-04-2003 à 12:40:19    

hum le faite de cocher l'option math dans kdevelop ajout le -lm dans le make donc voila pk ca marche , c juste une maniere simple de le faire de cocher la case

Reply

Marsh Posté le 06-04-2003 à 16:07:04    

J'ai fait la meme erreur.
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=


---------------
x,y,z
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed