我正在将一组静态库转换为共享库,并且能够成功创建共享库。问题在于 exe,因为与静态库的链接可能在库中有未解析的符号,但共享库并非如此。共享库中的所有符号都应该得到解析。
示例:PROG1 调用 LIB1.a 调用 LIB2.a 现在 PROG1 的 make 文件不需要 LIB2.a,因为 PROG1 调用 LIB1.a 不会导致调用 LIB2.a。所以 LIB1.a 中的一些 LIB2.a 符号可以仍未解决。
转换后 LIB1.so 和 LIB2.so 都必须包含在 PROG1 的 makefile 中。包含 LIB2.so 解决了 LIB1.so 的一些链接问题,但由于包含 LIB2.so 出现了新问题(因为它可能取决于 LIB3.so)
那么有没有办法找出共享库的所有依赖库?
我尝试使用 ldd 但它什么也没打印。
如果我的分析有误,请告诉我。