Frage

Ich versuche, eine vorkompilierte Bibliothek als .so-Datei zu verwenden.

Diese Datei ist dynamisch gegen ein paar librairies verknüpft:

$ ldd  /usr/local/test/lib/libtest.so
linux-gate.so.1 =>  (0xb770d000)
libstdc++-libc6.1-1.so.2 => not found
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75e1000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7499000)
/lib/ld-linux.so.2 (0xb770e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb747c000)

Leider ist in Debian / Squeeze, gibt es keine libstdc ++ -. Libc6.1-1.so * Datei. Nur ein libstdc ++. So. * Datei von dem libstdc ++ 6 bereitgestellt Paket.

Ich habe versucht, Link (mit ln -s) libstdc ++ - libc6.1-1.so.2 zum libstdc ++ so.6-Datei.. Dabei spielt es keine Arbeit, eine Charge von Symbolen scheint zu fehlen, wenn ich versuche, meine .o-Dateien mit diesem lib ld.

/usr/local/test/lib/libtest.so: undefined reference to `__builtin_vec_delete'
/usr/local/test/lib/libtest.so: undefined reference to `istrstream::istrstream(int, char const *, int)'
/usr/local/test/lib/libtest.so: undefined reference to `__rtti_user'
/usr/local/test/lib/libtest.so: undefined reference to `__builtin_new'
/usr/local/test/lib/libtest.so: undefined reference to `istream::ignore(int, int)'

Was würden Sie tun? Wie kann ich finden, in denen lib werden diese Symbole exportiert werden?

War es hilfreich?

Lösung

Google sagt, dass Sie ++ 2.9-glibc2.1

libstdc braucht

http://linux.derkeiler.com/Mailing -Listen / Debian / 2005-07 / 0755.html

Obwohl es von veralteter Debian-Release und ich bin nicht sicher, ob es so eine gute Idee ist es zu installieren.

Bearbeiten

Eigentlich habe ich versucht, es aus Neugier. Es hat nicht schaden und scheint gut zu koexistieren mit Standard libstc ++. So

debian:/home/dmitry# ll /usr/lib/\*stdc\*
-rw-r--r-- 1 root root 256240 2000-02-19 17:41 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
lrwxrwxrwx 1 root root     30 2010-03-31 15:54 /usr/lib/libstdc++-libc6.1-1.so.2 -> libstdc++-2-libc6.1-1-2.9.0.so
lrwxrwxrwx 1 root root     19 2010-01-21 10:13 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.13
-rw-r--r-- 1 root root 958628 2010-01-08 11:39 /usr/lib/libstdc++.so.6.0.13


wget http://archive.debian.org/debian/pool/main/e/egcs1.1/libstdc++2.9-glibc2.1_2.91.66-4_i386.deb

dpkg -i libstdc++2.9-glibc2.1_2.91.66-4_i386.deb

Andere Tipps

Versuchen Sie etwas entlang der Linien von:

`find /lib -type f | xargs nm | less`

Dann Jagd nach istrstream. Dies könnte eher langsam sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top