Chybějící reference - math.h – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chybějící reference - math.h – C / C++ – Fórum – Programujte.comChybějící reference - math.h – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Šťouchal0
Stálý člen
20. 10. 2011   #1
-
0
-

Zdravím,

poprosil bych vás o radu - mám kód (níže) a ani za boha jej nemůžu rochodit. Pro překlad používám u gcc přepínače "-lm -Wall -pedantic -ansi".

#include <math.h>
....
double a = desetinneCislo;
XYZ = acos(a); /* hlásí: ...main.c:25: undefined reference to 'acos' collect2: ld returned 1 exit status*/
....

Když zadám konstantu, tak kód jde ... nevím proč - dělám to na Ubuntu, NetBeans (překlad skrze terminál se stejným efektem).

Nahlásit jako SPAM
IP: 213.168.191.–
liborb
~ Redaktor
+18
Guru
20. 10. 2011   #2
-
0
-

A je i XYZ double?

Nahlásit jako SPAM
IP: 78.80.52.–
Řešení
Šťouchal0
Stálý člen
20. 10. 2011   #3
-
0
-
Vyřešeno Nejlepší odpověď

   

#include <math.h>
....
double = XYZ;
double a = desetinneCislo;
XYZ = acos(vyraz); /* vyraz - matemeticke operace s promennymi typu double */
....

Upravuji - omlouvám se, první vyjádření kódu mohlo být lepší.

Edit:

Kolega mi pomohl. Zkompilování s naprosto stejným nastavením skrze g++ místo gcc pomohlo. Dokáže mi někdo objasnit proč to tak je - jelikož mi to nejde na rozum, i kompilátor gcc by měl knihovnu nalézt, ne?

Nahlásit jako SPAM
IP: 213.168.191.–
liborb
~ Redaktor
+18
Guru
20. 10. 2011   #4
-
+1
-
Zajímavé

Asi neumí.

Edit: resp. podle tvého popisu bych si tipnul, že "najde" jen pro float (viz pokus s konstantou).

Nahlásit jako SPAM
IP: 78.80.52.–
Šťouchal0
Stálý člen
20. 10. 2011   #5
-
0
-

Díky za pomoc :-)

Nahlásit jako SPAM
IP: 213.168.191.–
KIIV
~ Moderátor
+43
God of flame
20. 10. 2011   #6
-
0
-

pokud je to program v C tak mohlo jen chybet pridat gcc -lm

pokud je to v C++ tak je jasny proc g++ (nebo g++ jen pridava -lm defaultne)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 45 hostů

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ý