delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/03/07/18:53:12

Date: Tue, 7 Mar 2000 10:51:18 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Rodeo Red <rodeored AT netstep DOT net>
cc: djgpp AT delorie DOT com
Subject: Re: -wall messages
In-Reply-To: <1B04E3E8A3E99978.0AA67B6C38AFD998.3BC818F6DB8E9388@lp.airnews.net>
Message-ID: <Pine.SUN.3.91.1000307105058.21917C-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: dj-admin AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, 6 Mar 2000, Rodeo Red wrote:

> This simple hello world program compiles fine but when I use -wall I get
> all the messages below. 

You mean -Wall (Capital W), right?

> r.exe(.text+0x1ec):crt0.s: multiple definition of `__exit'
> c:/djgpp/lib/crt0.o(.text+0x1ec):crt0.s: first defined here
> r.exe(.text+0x2d0):crt0.s: multiple definition of `__sbrk'
> c:/djgpp/lib/crt0.o(.text+0x2d0):crt0.s: first defined here
>
> If these aren't warning messaes what are they ? 
> 
> I thought warning messages would say "warning" on them. 

These messages are NOT warnings, they are errors.  You didn't show the
exact command line you used to compile (you should *always* do that
when reporting compilation/link problems), but from the error messages
I'm guessing that you typed something like this:

   gpp -o -wall r.exe 41.cpp

The problem is that the name of the program, r.exe, should
*immediately* follow the -o switch.  The -o switch expects an
argument: the name of the file where to put the resulting program.  If
you stick something between -o and the name of the program, the linker
will be confused.

In the above example, the program will be output to a file called
`-wall', and r.exe will be taken as one of the files which should be
linked into that program.  That's why the linker complains: r.exe
already has the `main' function and all the other functions which come
from the startup module.

The correct command line is this:

    gpp -Wall -o r.exe 41.cpp

> Is there any other way to turn on warning messages besides "- wall" ? 

They are documented in the GCC manual, which see.  From the command
line, type "info gcc invoking warning" and read there.  (This assumes
you installed info.exe from txi40b.zip.)

> Is djgpp the same compiler they mean when they say "gcc" ?

DJGPP is the name of the project.  GCC is the compiler used by DJGPP.

> Why does
> everyone else seem to use gcc as a command line but I have to use gpp ? 

Use gcc for C programs, gpp for C++ programs.  This is further
explained in the DJGPP FAQ list, section 8.8.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019