On 16/04/2008, John Salmon <[EMAIL PROTECTED]> wrote: > Sven Joachim <[EMAIL PROTECTED]> wrote in news:[EMAIL PROTECTED]: > > > > On 2008-04-15 20:39 +0200, John Salmon wrote: > > > >> I'm running Debian Etch on a PC. When I try to compile the following > >> (called test.c); > >> > >> #include <math.h> > >> #include <stdio.h> > >> > >> int main() > >> { > >> double > >> val = 1.55; > >> > >> printf("sine: %g\n", sin(val)); > >> > >> return 0; > >> } > >> > >> using the command line > >> > >> gcc -Wall -o test test.c > >> > >> I get > >> > >> /tmp/cciDV02m.o: In function `main': > >> test.c:(.text+0x21): undefined reference to `sin' > >> collect2: ld returned 1 exit status > > > > You need to link to the math library by specifying -lm _at the end_ of > > the gcc command line, otherwise the linker does not know about the sin() > > function. > > > >> When I compile the equivalent C++ program using the apropriate C++ > >> parameters, everything goes great. Have I neglected to load a Debian > >> package? Any help will be appreciated. > > > > That is to be expected, because C++ programs are automatically linked > > against the math library. In C you have to tell the linker to use it > > with -lm. > > > > Sven > > > > > > > That solved the linking problem. Now, after a successful compilation, when > I run 'test' I gen no output. ???
"test" is a bash-builtin, and is a executable in /usr/bin/test, so that is what you were running. You can run your "test" command by typing ./test or rename it to something else. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]