Re: Problem compiling simple C program
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Thanks all for bottom-posting! But why isn't anyone snipping out
the same, repeating, unnecessary text?
On 04/16/08 10:10, H.S. wrote:
> John Salmon wrote:
>> Sven Joachim <svenjoac@gmx.de> wrote in
>> news:aiYRm-2Tc-23@gated-at.bofh.it:
>>
>>> 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. ???
>>
>
> In the directory where you source and output executable is, try "./test".
>
> You are not getting any output probably because you are inadvertently
> using the system "test" command.
>
> To avoid such introduction traps, I usually make such example programs
> with names quite different from any commands that the system may have,
> for example by using my initials or by using a number in the source
> file. Using "mytest" or "example1" would have been a better choice in
> your case.
- --
Ron Johnson, Jr.
Jefferson LA USA
We want... a Shrubbery!!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFIBlXmS9HxQb37XmcRAjZHAKDMzYLjX3JH68Qm4UOdLIWop2UmkQCeJusw
0PDbdYFU1Qqs9vL2VOxI/z8=
=5DqE
-----END PGP SIGNATURE-----
Reply to: