[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem compiling simple C program



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.   ???

-- 
John Salmon
salmonjj@comcast.net
       ---- Posted via Pronews.com - Premium Corporate Usenet News Provider ----
http://www.pronews.com offers corporate packages that have access to 100,000+ newsgroups


Reply to: