On Tuesday 11 April 2006 19:07, Jonathan Herriott wrote:
> Question then.  Why would it work when I don't use variables if I
> don't include the library?  This question is just out of curiosity.
>
> On 4/11/06, Nicolas Blais <[EMAIL PROTECTED]> wrote:
> > On Tuesday 11 April 2006 18:54, Jonathan Herriott wrote:
> > > I just want to make sure I'm not being stupid before I send in a bug.
> > > The problem seems to be with gcc when using the pow function in the
> > > math.h library.  Here's code that works:
> > >
> > > #include <stdio.h>
> > > #include <math.h>
> > >
> > > int main()
> > > {
> > >      printf("%f\n", pow(2,3));
> > >      return 0;
> > > }
> > >
> > >
> > > Now, the following will not compile:
> > >
> > > #include <stdio.h>
> > > #include <math.h>
> > >
> > > int main()
> > > {
> > >      int x = 2; // I tried these as doubles too since the pow function
> > > takes doubles
> > >      int y = 3;
> > >
> > >      printf("%f\n", pow(x,y));
> > >      return 0;
> > > }
> > >
> > > I compiled both programs using:
> > > gcc test.c
> > >
> > > The second example gives the following error:
> > >
> > > /var/tmp//ccxtkMwv.o(.text+0x45): In function `main':
> > > : undefined reference to `pow'
> > >
> > > If I comile with g++, I have no issues.  Are these results that I
> > > should have?  If so, why?  If not, I'm going to submit the bug on gcc
> > > (or the linker, but I'm guessing it's the same group).
> > >
> > > Thanks,
> > > Jonathan Herriott
> >
> > gcc -lm test.c works. You forgot to include the math library.
> >

I'm not sure I get your question, but if your not using the math library (from 
variables or functions), then the compiler could care less if it was linked 
with the math library or not.
If your software DOES use a variable or a call from math.h (pow in this case), 
then linking with the math library is a must.

Hope this answers your question, if it doesn't, post a test2.c with what you 
meant and I'll answer best I can.

Nicolas.



-- 
FreeBSD 7.0-CURRENT #1: Sat Apr  8 21:33:25 EDT 2006     
[EMAIL PROTECTED]:/usr/obj/usr/src/sys/CLK01A 
PGP? : http://www.clkroot.net/security/nb_root.asc

Attachment: pgpcmezHLPbz5.pgp
Description: PGP signature

Reply via email to