共享库缺少符号

时间:2018-01-23 17:45:58

标签: c linux shared

我有C代码,我想编译一个共享库。此共享库依赖于其他FlexNet Publisher库。编译库时我没有遇到任何错误,但在运行时我得到了

'/home/user/workspaceforC/libMylibrary.so'缺少符号'Ox410ef03750728897'

Missing symbol 'Ox410ef0495302ac72' required by '/home/user/workspaceforC/libMylibrary.so'

当我运行nm libMylibrary.so时,我可以看到两个符号:

U Ox410ef03750728897

U Ox410ef0495302ac72

它没有告诉我他们缺少哪个库。

我对编译/链接时缺少的内容毫无头绪。

我有相同的代码,我使JNI兼容并使用相同的makefile编译到共享库。我可以成功加载它并在eclipse for Java中运行它。

请指教。只有内存地址的U是什么意思,我该如何解决它? 我做了一个readelf,它显示:

0x0000000000000001(NEEDED)共享库:[libdl.so.2]

0x0000000000000001(NEEDED)共享库:[libpthread.so.0]

0x0000000000000001(NEEDED)共享库:[libc.so.6]

LD_LIBRARY_PATH设置为/ lib64,其中包含所有这3个库。

请建议。

0 个答案:

没有答案