当前位置: 技术问答>linux和unix
Linux 动态库 dlopen()失败,errno = 17, File exists
来源: 互联网 发布时间:2017-03-11
本文导语: 程序在调用动态库时总是返回失败,打印一下errno,提示如下: errno = 17, File exists 请问此处错误信息是什么意思,有可能是什么原因造成的呢? 谢谢。 | errno ?????? Oh, No. dlopen不会设置errno 用dler...
程序在调用动态库时总是返回失败,打印一下errno,提示如下:
errno = 17, File exists
请问此处错误信息是什么意思,有可能是什么原因造成的呢?
谢谢。
errno = 17, File exists
请问此处错误信息是什么意思,有可能是什么原因造成的呢?
谢谢。
|
errno ??????
Oh, No.
dlopen不会设置errno
用dlerror()看到底是什么错。
|
ldd 一下你这个so看看是否正常。
|
你的库里面是否用了静态变量?
|
dso_handle.o:
0000000000000000 D __dso_handle
这个符号是libc.a里面的,估计你这个bash_func.so不是在你这个机器上编译的。
那么可能
1,你当前机器上的libc.a没有这个符号
2,链接的库不对,导致找不到没有libc.a
0000000000000000 D __dso_handle
这个符号是libc.a里面的,估计你这个bash_func.so不是在你这个机器上编译的。
那么可能
1,你当前机器上的libc.a没有这个符号
2,链接的库不对,导致找不到没有libc.a