【发布时间】:2009-06-03 02:01:47
【问题描述】:
我遇到了链接问题。我需要链接一个共享库libfoo.so,它依赖于一个函数read,我想在文件read.c中定义自己。
我编译并将所有内容链接在一起,但在运行时出现错误
/home/bar/src/libfoo.so: undefined symbol: sread.
nm 报告符号已定义
$nm baz | grep sread
00000000000022f8 t sread
但 ldd 报告符号未定义
$ldd -r baz | grep sread
undefined symbol: sread (/home/bar/src/libfoo.so)
什么给了? libfoo.so 是一个共享库这一事实有什么问题吗?
【问题讨论】:
-
也许您应该发布所有共享对象和可执行文件的完整链接行以阐明主题。
标签: linux linker shared-libraries