Undefined reference to `pow` – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Undefined reference to `pow` – C / C++ – Fórum – Programujte.comUndefined reference to `pow` – C / C++ – Fórum – Programujte.com

 

iyo0
Newbie
18. 3. 2008   #1
-
0
-

Chcem si naprogramovať jednoduchú aplikáciu s použitím mocnín. Chcem vyrátať napríklad 5 mocninu čísla 3:



#include <stdio.h>
#include <math.h>

int main(void){
printf("Hladana mocnina je %f.\n",pow(3,5));
}


Teraz by som chcel, aby som si zadaval zaklad a mocninu pomocou premenych:


#include <stdio.h>
#include <math.h>

int main(void){
double zaklad=3, mocnina=5;
printf("Hladana mocnina je %f.\n",pow(zaklad,mocnina));
}


Namiesto tuzeneho vysledku 3^5 dostavam chybu:


gcc -o math /home/iyo/tmp/program.c && ./math

/tmp/ccgmrvWw.o: In function `main':
program.c:(.text+0x31): undefined reference to `pow'
collect2: ld returned 1 exit status

návratová hodnota shellu 1


V čom môže byť problém?

Nahlásit jako SPAM
IP: 62.168.65.–
kisto0
Duch
18. 3. 2008   #2
-
0
-

#include <fstream>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double a, b, c;
a = 3;
b = 4;
c=pow(a,b);

cout <<"\nvysledok= "<<c;
cin.get();
cin.get();
}





skus toto to mi funguje a spravne takze neviem v com si mal problem

Nahlásit jako SPAM
IP: 78.98.37.–
iyo0
Newbie
18. 3. 2008   #3
-
0
-

To kisto : Problem sa mi nakoniec podarilo vyriesit. Program som musel kompilovat aj s parametrom -lm, aby to spravne fungovalo... Len neviem, preco to bez neho nefunguje.

Nahlásit jako SPAM
IP: 62.168.65.–
sn3d0
Věrný člen
19. 3. 2008   #4
-
0
-

Totizto parameter -lm znamena ze prilinkujes kniznicu libm ktora obsahuje funkciu pow(). Pekne ti to aj kompilator vypisal ze nevie najst funkciu:



program.c:(.text+0x31): undefined reference to `pow'


To ze v C/C++ includnes header este neznamena ze ta funkcia tam bude. V math.h sa totizto nachadza len akysi predpis funkcie, ake ma parametre, co vracia, ale nenachadza sa tam jej "telo". Az pri linkovani sa vlastne hlada "telo" funkcie. Dufam ze ma nezozeru ostatni za to ako som to tu popisal. Snazil som sa to vysvetlit tak polopatisticky.

Nahlásit jako SPAM
IP: 213.151.208.–
shutdown -h now
iyo0
Newbie
19. 3. 2008   #5
-
0
-

To sn3d : ďakujem za pekné vysvetlenie...

Nahlásit jako SPAM
IP: 87.197.14.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

Podobná vlákna

Undefined reference... — založil kju:b

Undefined reference — založil janek

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý