我试图使用一个预编译的库作为.so文件提供。在Debian/squeeze上查找libstdC++中缺失的符号
此文件是动态链接对几个librairies:
$ 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中/挤,没有的libstdC++ - libc6.1-1.so *文件。 只有libstdC++ 6软件包提供的libstdC++。so。*文件。
我试图链接(使用ln -s)libstdC++ - libc6.1-1.so.2到libstdC++。so.6文件。它不起作用,当我试图用这个lib来提供我的.o文件时,一批符号似乎缺乏。
/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)'
你会做什么?我如何找到这些符号在哪个库中导出?
谢谢你的回答。但我确实同意:使用旧版Debian发行版中的oldlib非常可怕。 – madflo 2010-03-31 12:22:44
请看我的更新 – 2010-03-31 13:03:57
它也在这里工作......好主意! – madflo 2010-03-31 14:02:51