Jak poprawnie używać sqrt() z math.h w AVR-GCC 3.2, aby uniknąć błędów linkowania?
avr-gcc: math.h i sqrt
From: "Michał Lankosz" <nie_at_nospam_lubie.spamu>
Subject: avr-gcc: math.h i sqrt
Date: Thu, 13 Feb 2003 00:30:08 +0100
Witam
Może ktoś ze świeżym umysłem mnie nakieruje. Kompilacja programu:
#include <iom128.h>
#include <math.h>
double a;
int main(void)
{
a = sqrt(3.14);
}
kończy się komunikatem: undefined reference to 'sqrt'. To jest AVR-GCC v3.2
Próbowałem osobno dolinkować plik
avrgcc\lib\avr-libc-20011126\src\libm\sqrt.o ale wtedy zaczyna pluć
komunikatami typu:
undefined reference to '__fp_nanEDOM' i jeszcze kilka takich
Na to musi być jakiś prosty sposób :)
--
Michał, SQ9FQQ http://sq9fqq.prv.pl/
GG:374157 http://free.ngo.pl/sp9zcj/
mike2001 (malpa) tlen.pl
========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.mega.net.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: Samotnik <samotnik_at_nospam_samotnia.eu.org>
Subject: Re: avr-gcc: math.h i sqrt
Date: Wed, 12 Feb 2003 23:37:43 +0000 (UTC)
W artykule <b2eldg$qjr$1_at_nospam_atlantis.news.tpi.pl> Michał Lankosz napisał(a):
#include <iom128.h>
#include <math.h>
double a;
int main(void)
{
a = sqrt(3.14);
}
kończy się komunikatem: undefined reference to 'sqrt'. To jest AVR-GCC v3.2
Próbowałem osobno dolinkować plik
avrgcc\lib\avr-libc-20011126\src\libm\sqrt.o ale wtedy zaczyna pluć
komunikatami typu:
undefined reference to '__fp_nanEDOM' i jeszcze kilka takich
Na to musi być jakiś prosty sposób :)
Nie znam się na avr-gcc i to w dodatku windzianym, ale na mój gust
musisz dolinkować bibliotekę... W Uniksach robi się to przez parametr
-lm, w Windowsie pewnie ponownie, obadaj swój Makefile.
--
Samotnik
========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!newsfeed.silweb.pl!newsfeed.tpinternet.pl!szmaragd.futuro.pl!not-for-mai
From: Romuald Bialy <romek_b_at_nospam_o2.pl>
Subject: Re: avr-gcc: math.h i sqrt
Date: Sat, 15 Feb 2003 13:45:49 +0100
Samotnik wrote:
kończy się komunikatem: undefined reference to 'sqrt'. To jest AVR-GCC v3.2
Próbowałem osobno dolinkować plik
avrgcc\lib\avr-libc-20011126\src\libm\sqrt.o ale wtedy zaczyna pluć
komunikatami typu:
undefined reference to '__fp_nanEDOM' i jeszcze kilka takich
Na to musi być jakiś prosty sposób :)
Nie znam się na avr-gcc i to w dodatku windzianym, ale na mój gust
musisz dolinkować bibliotekę... W Uniksach robi się to przez parametr
-lm, w Windowsie pewnie ponownie, obadaj swój Makefile.
Dokladnie tak - w makefile przy opcjach linkera (LDFLAGS) tezeba dopisac
-lm
Sam nad tym zmarnowalem troche czasu.
--
Pozdrawiam Romuald Bialy
E'mail: romek_b_at_nospam_o2.pl
yampp-WWW: http://www.yamppsoft.prv.pl
========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!opoka-warszawa!news.idn.org.pl!news.signoff.com.pl!news.pse.pl!mimuw.edu.pl!news.mimuw.edu.pl!uw.edu.pl!lublin.pl!news.onet.pl!newsfeed.gazeta.pl!news.man.poznan.pl!pwr.wroc.pl!panorama.wcss