GCC 3.2 - chyba linkovani C++

Karel Zak zakkr na zf.jcu.cz
Pondělí Listopad 25 12:01:00 CET 2002


On Mon, Nov 25, 2002 at 10:54:03AM +0100, Martin Proks wrote:
> Dobry den,
> 
> presel jsem na RH 8.0 a chtel jsem si zkompilovat C++
> program. I objevila se chyba.
> 
>    $ gcc -o pokus pokus.cpp
>    /tmp/ccUEKiBl.o(.eh_frame+0x11): undefined reference to
>    `__gxx_personality_v0' collect2: ld returned 1 exit status

 Ja bych tomu nerikal C++ ale v tomto pripade C :-)

> RH 8 uz je nejakou dobu venku a zadne nadavky tohoto druhu jsem
> nezaznamenal, update gcc taky neni, takze predpokladam, ze chyba bude
> nekde u me (napr. neco nenainstalovane, nebo jsem zapomnel linkovat
> nejakou knihovnu, ...), ale nevim kde a co.

 Asi takto:

 gcc 2.95.4:

$ gcc -Wall -O3 -o pokus pokus.cpp
$ ldd ./pokus
    libc.so.6 => /lib/libc.so.6 (0x40020000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ g++ -Wall -O3 -o pokus pokus.cpp
$ ldd ./pokus
    libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40020000)
    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)


 g++-3.2 (GCC) 3.2.1 20021111 (Debian prerelease):

$ gcc-3.2 -Wall -O3 -o pokus pokus.cpp
$ ldd ./pokus
    libc.so.6 => /lib/libc.so.6 (0x40020000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

$ g++-3.2 -Wall -O3 -o pokus pokus.cpp
$ ldd ./pokus
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40020000)
    libm.so.6 => /lib/libm.so.6 (0x400cb000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x400ec000)
    libc.so.6 => /lib/libc.so.6 (0x400f4000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)


    Karel

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/


Další informace o konferenci Linux