Re: gcc-3.x and C programs with some C++ objects linked in
On Thu, Sep 12, 2002 at 06:26:56PM +0200, Mario Lang wrote:
> Hey.
>
> I'm having a bit of a problem here. brltty is a C program,
> but some of it's code is written in C++. Until gcc-2.95 it
> was perfectly possible to compile the .cc files with g++ into .o files,
> and link the whole program with gcc into a binary which did not
> dynamicly link against libstdc++.
>
> In gcc-3.x, this appears to no longer work. I tried compiling
> the c++ code with -fno-exceptions, and link it together with gcc, but
> I always get a bunch of unresolved symbols.
>
> If I link with g++, it works, but I get a binary which looks like this:
>
> lexx:~/tmp/c/brltty-3.1% ldd Programs/brltty
> libdl.so.2 => /lib/libdl.so.2 (0x4001e000)
> libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40021000)
> libm.so.6 => /lib/libm.so.6 (0x4006a000)
> libc.so.6 => /lib/libc.so.6 (0x4008b000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> It used to be like this with gcc-2.95:
>
> lexx:~/tmp/c/brltty-3.1% ldd /sbin/brltty
> libdl.so.2 => /lib/libdl.so.2 (0x4001e000)
> libm.so.6 => /lib/libm.so.6 (0x40021000)
> libc.so.6 => /lib/libc.so.6 (0x40042000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> Does anyone have an idea why this is no longer working, and if
> there is a way to circumvent the problem?
Try adding '-lsupc++' to your link command and linking with GCC again?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: