我将一组静态库转换为共享库,并且能够成功创建共享库。问题在于exe文件,因为与静态库的链接可能在库中有未解析的符号,但共享库并不是这种情况。共享库中的所有符号都应该解决。列出Solaris中共享库的依赖关系
例子: PROG1调用了lib1.a调用LIB2.a 现在PROG1的make文件不需要有LIB2.a为PROG1调用了lib1.a不会导致调用LIB2.a。所以一些LIB2.a LIB1.a中的符号可以保持不变。
转换后 两个LIB1.so和LIB2.so都必须包含在PROG1的makefile中。包括LIB2.so解决了LIB1.so的几个联系问题,但是由于包含了LIB2.so而出现了新问题(因为它可能取决于LIB3.so)
有没有什么方法可以找出所有的依赖共享库的库?
我试过使用ldd,但没有打印任何东西。
如果我的分析错误,请让我知道。
LDD没有依赖关系,和错误输出什么都没显示它必须至少依赖于libc。请为您提到的所有三个库添加ldd的输出。 –
红宝石%1!-ltr libStorage.so lrwxrwxrwx 1个苏达dvlpmnt 23年5月20日3时20 libStorage.so - > libStorage.so.1 红宝石%1!-ltr libStorage.so.1 -rwxrwxr-X 1阿西克dvlpmnt 5705636 Jun 6 03:43 libStorage.so.1 ruby%ldd libStorage.so ruby% – user1758616