Avatar billede folle Nybegynder
14. juli 2001 - 13:36 Der er 7 kommentarer og
1 løsning

include math.h virker ikke????

Jeg har lige installeret Red Hat 7.1 og skal til at programmere i C. Når jeg forsøger at compilere dette lille simple program får jeg flg. fejl:

#include <stdio.h>
#include <math.h>
main()
{
  printf(\"%5d\",sqrt(2));
}

Fejl:

/tmp/ccULralT.o: In function `main\':
/tmp/ccULralT.o(.text+0x14): undefined reference to `sqrt\'
collect2: ld returned 1 exit status
Compilation exited abnormally with code 1 at Sat Jul 14 12:25:27

Hvad går der galt??
Avatar billede mickni33 Nybegynder
14. juli 2001 - 13:44 #1
du har glemt at skrive void foran main

#include <stdio.h>
#include <math.h>
void main()
{
  printf(\"%5d\",sqrt(2));
}

Avatar billede folle Nybegynder
14. juli 2001 - 14:00 #2
Ingen forskel...
Avatar billede mickni33 Nybegynder
14. juli 2001 - 14:01 #3
hva skriver du når du compiler
Avatar billede morten2 Nybegynder
14. juli 2001 - 14:05 #4
Det har ikke noget med deklarationen af main at gøre.
Dette kunne højst give en warning om at main ikke retunerede en værdi (int).

Det har heller ikke noget med inknuderingen af math.h at gøre ide du får en linl error.

Mit skud er at du ikke har inkulderet math lib til linkerne.
Du skriver ikke hvilen compiler/linker du bruger.
Men prøv at se i man siderne hvordan du inkludere math lib (-lm).



Avatar billede folle Nybegynder
14. juli 2001 - 14:10 #5
Jeg skriver \"cc calc.c\". Jeg går udfra at man så benytter den gnu-compiler som er inkluderet i Red Hat.
Avatar billede mickni33 Nybegynder
14. juli 2001 - 14:14 #6
skal man ikke skrive
cc calc.c -o calc

ellers prøv med c++ istedet

c++ calc.c -o calc

hvis det virker under c++ så ved du da at det ikke er programmet der er noget galt med
Avatar billede morten2 Nybegynder
14. juli 2001 - 14:17 #7
prøv \'cc calc.c -lm\'
Avatar billede folle Nybegynder
14. juli 2001 - 14:36 #8
super. det virker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester