我將一組靜態庫轉換爲共享庫,並且能夠成功創建共享庫。問題在於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