This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with C++ on gcc 3
- From: Paul Butcher <paul dot butcher at asa dot co dot uk>
- To: "Andrea 'Fyre Wyzard' Bocci" <fwyzard at inwind dot it>,gcc-help at gcc dot gnu dot org
- Date: Mon, 8 Jul 2002 09:50:34 +0100
- Subject: Re: Problem with C++ on gcc 3
- Organization: ASA Ltd.
- References: <5.1.0.14.2.20020704123900.00b29448@localhost>
Thanks for the obvious answer - my problem was two-fold:
1. using gcc instead of g++ as you stated: -lstdc++ is not included in the
linker stage.
Why does gcc 3.1 not allow this? gcc 2.95.x included the correct libraries
when calling gcc.
2. I also had gcc 2.95.3 installed in a different path and libstdc++ was
being found there before the new 3.1 library.
Why does the library path used by gcc not start with its installation
libraries rather than generic paths like /usr/lib?
Paul Butcher
ALTON, Hants, UK
On Thursday 04 Jul 2002 11:39, Andrea 'Fyre Wyzard' Bocci wrote:
>
> Use g++ to link/compile C++ code, not gcc.
>
> HTH, fwyzard
---- Original Message ----
> I have a rather basic problem with compiling a simple C++ program, or
> rather with the final linking using collect2. This is the call made:
> /opt/experimental/bin/gcc -v -O2 -o CPPTest ../CPPTest.cpp
> ../CPPTestMain.cpp
>
> The following is the verbose output for the final collect2 stage:
> /opt/experimental/lib/gcc-lib/i486-suse-linux/3.0.1/collect2 -m elf_i386
> -dynamic-linker /lib/ld-linux.so.2 -o CPPTest /usr/lib/crt1.o
> /usr/lib/crti.o
> /opt/experimental/lib/gcc-lib/i486-suse-linux/3.0.1/crtbegin.o
> -L/opt/experimental/lib/gcc-lib/i486-suse-linux/3.0.1
> -L/opt/experimental/lib/gcc-lib/i486-suse-linux/3.0.1/../../..
> /tmp/cc3xAK5D.o /tmp/ccq0irtE.o -lgcc -lc -lgcc
> /opt/experimental/lib/gcc-lib/i486-suse-linux/3.0.1/crtend.o
> /usr/lib/crtn.o /tmp/ccq0irtE.o: In function `__FRAME_BEGIN__':
> /tmp/ccq0irtE.o(.eh_frame+0x12): undefined reference to
> `__gxx_personality_v0' collect2: ld returned 1 exit status
>
> As you see this is with SuSE7.3 LInux gcc 3.0.1 'experimental' build - but
> I get the same problem with a cygwin compiled gcc 3.1 on Win9X.
> The problem occurs with the most minimal C++ class so I presume it's
> something fundamental I'm doing wrong!
>
> (It always worked with gcc 2.95.x)