delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/10/15/06:29:53

From: khan AT xraylith DOT wisc DOT edu (Mumit Khan)
Subject: Re: BUG: egcs-1.1-mingw32 - gcc -o hello hello.C
15 Oct 1998 06:29:53 -0700 :
Message-ID: <Pine.SUN.3.93.981014110606.10933F-100000.cygnus.gnu-win32@modi.xraylith.wisc.edu>
References: <19981014153400 DOT 13514 DOT rocketmail AT send104 DOT yahoomail DOT com>
Reply-To: Mumit Khan <khan AT xraylith DOT wisc DOT edu>
Mime-Version: 1.0
To: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Cc: gw32 <gnu-win32 AT cygnus DOT com>

On Wed, 14 Oct 1998, Earnie Boyd wrote:

> When giving this command with mingw32 version of egcs-1.1 the stdc++
> library isn't properly included at the execution of ld.  This is the
> only problem with this command.
> 
> g++ -o hello hello.C will properly add the library.
> 

Hi Earnie,

I'm a bit confused ... "gcc" is the C driver, and "g++" or "c++" is the 
C++ driver. "gcc" will not and should not C++ specific libraries, and the 
only correct and portable way to link C++ programs is to use the "c++" or 
"g++" driver. If "gcc" adds C++ specific libraries, it's a bug, not a 
feature.

Correct way to link C++ programs:

  $ c++ -o hello hello.cc

(or alternatively use g++, which is just a link to c++).

However, *knowing* how gcc works, we can use the C driver to link C++
programs:
  
  $ gcc -o hello hello.cc -lstdc++

Note that you probably should not use '.C' for C++ extension, but rather
something that works on all OS/filesystems (Unix, VMS, Win32), such .cc, 
..cxx, etc (I personally dislike the MS-advocated .cpp extension!).

Please let me know if I'm misinterpreting your note.

Regards,
Mumit


-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


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