.soファイルとして提供されているコンパイル済みライブラリを使用しようとしています。
このファイルは、いくつかの書店に対して動的にリンクされています。
$ 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)
残念ながら、Debian / squeezeには、libstdc++-libc6.1-1.so。*ファイルはありません。libstdc++6パッケージによって提供されるlibstdc++。so。*ファイルのみ。
(ln -sを使用して)libstdc++-libc6.1-1.so.2をlibstdc++。so.6ファイルにリンクしようとしました。これは機能しません。このライブラリを使用して.oファイルを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)'
あなたならどうしますか ?これらのシンボルがエクスポートされているライブラリをどのように見つけることができますか?