* Compile error caused by case of filename extension
@ 2006-03-25 8:03 Shriramana Sharma
2006-03-25 8:35 ` B S Srinidhi
0 siblings, 1 reply; 3+ messages in thread
From: Shriramana Sharma @ 2006-03-25 8:03 UTC (permalink / raw)
To: Linux C Programming List
When the contents of TESTING.C are:
#include "stdio.h"
void main(void)
{
printf("\n%d\n", ( -0.25 < 0) ? 2 : 4);
}
Upon trying to compile:
$ gcc -o TESTING TESTING.C
TESTING.C:3: error: ‘::main’ must return ‘int’
Then I changed the file to:
#include "stdio.h"
int main(void)
{
printf("\n%d\n", ( -0.25 < 0) ? 2 : 4);
return 1;
}
Then I got:
$ gcc -o TESTING TESTING.C
/tmp/ccEnQk4o.o:(.eh_frame+0x11): undefined reference to
`__gxx_personality_v0'
collect2: ld returned 1 exit status
But if I change the input file name extension to testing.c or even TESTING.c
(small letters) no problems were got. Why is this?
--
Tux #395953 resides at http://samvit.org
playing with KDE 3.51 on SUSE Linux 10.0
$ date [] CCE +2006-03-25 W12-6 UTC+0530
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: Compile error caused by case of filename extension
2006-03-25 8:03 Compile error caused by case of filename extension Shriramana Sharma
@ 2006-03-25 8:35 ` B S Srinidhi
2006-03-28 6:26 ` Markus Rechberger
0 siblings, 1 reply; 3+ messages in thread
From: B S Srinidhi @ 2006-03-25 8:35 UTC (permalink / raw)
To: Linux C Programming List
Hi,
On Sat, 2006-03-25 at 13:33 +0530, Shriramana Sharma wrote:
[..]
> $ gcc -o TESTING TESTING.C
> /tmp/ccEnQk4o.o:(.eh_frame+0x11): undefined reference to
> `__gxx_personality_v0'
> collect2: ld returned 1 exit status
>
> But if I change the input file name extension to testing.c or even TESTING.c
> (small letters) no problems were got. Why is this?
>
From the man page of gcc(1):
file.cc
file.cp
file.cxx
file.cpp
file.CPP
file.c++
file.C
C++ source code which must be preprocessed. Note that in .cxx, the
last two letters must both be literally x. Likewise, .C refers to a
literal capital C.
That means, gcc will consider a source file with name TESTING.C to be a
C++ source code. Thus trying to include / link with some special
libraries.
To compile your TESTING.C, use something like:
$ g++ -o TESTING TESTING.C
It 'll compile correctly.
Hope this helps.
Srinidhi.
--
ASCII ribbon campaign ( ) B S Srinidhi
- against HTML email X http://srinidhi.deeproot.co.in
& vCards / \ DeepRoot Linux
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: Compile error caused by case of filename extension
2006-03-25 8:35 ` B S Srinidhi
@ 2006-03-28 6:26 ` Markus Rechberger
0 siblings, 0 replies; 3+ messages in thread
From: Markus Rechberger @ 2006-03-28 6:26 UTC (permalink / raw)
To: B S Srinidhi; +Cc: Linux C Programming List
Hi,
don't use void main() functions.. use int main instead.
The c++ standard defines the return value of main being int, though
compiler also support void.
In general int should be better since other applications could check
for the return value if the application exited successfully or not..
Markus
On 3/25/06, B S Srinidhi <srinidhi-c@deeproot.co.in> wrote:
> Hi,
>
> On Sat, 2006-03-25 at 13:33 +0530, Shriramana Sharma wrote:
> [..]
> > $ gcc -o TESTING TESTING.C
> > /tmp/ccEnQk4o.o:(.eh_frame+0x11): undefined reference to
> > `__gxx_personality_v0'
> > collect2: ld returned 1 exit status
> >
> > But if I change the input file name extension to testing.c or even TESTING.c
> > (small letters) no problems were got. Why is this?
> >
>
> >From the man page of gcc(1):
>
> file.cc
> file.cp
> file.cxx
> file.cpp
> file.CPP
> file.c++
> file.C
> C++ source code which must be preprocessed. Note that in .cxx, the
> last two letters must both be literally x. Likewise, .C refers to a
> literal capital C.
>
> That means, gcc will consider a source file with name TESTING.C to be a
> C++ source code. Thus trying to include / link with some special
> libraries.
>
> To compile your TESTING.C, use something like:
>
> $ g++ -o TESTING TESTING.C
>
> It 'll compile correctly.
>
> Hope this helps.
>
> Srinidhi.
> --
> ASCII ribbon campaign ( ) B S Srinidhi
> - against HTML email X http://srinidhi.deeproot.co.in
> & vCards / \ DeepRoot Linux
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Markus Rechberger
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-03-28 6:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-25 8:03 Compile error caused by case of filename extension Shriramana Sharma
2006-03-25 8:35 ` B S Srinidhi
2006-03-28 6:26 ` Markus Rechberger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).