我正在構建從應用程序(我無法控制)加載的共享庫。我的圖書館使用其他共享庫,而這些共享庫反過來使用其他共享庫,但是並不罕見。Linux,共享庫使用主程序中的函數而不是其他共享庫
的問題是,所述主應用程序具有本功能,在庫中的鏈進一步向下的一個,更具體是openLDAP
,反過來使用openSSL
功能:
Main app->My library->openLDAP libraries->openSSL libraries
我的猜測是主要應用是通過靜態鏈接或簡單的複製/粘貼源代碼來實現openSSL
。
我的問題是:我可以控制openLDAP
從我的庫中使用哪些函數,還是必須使用靜態鏈接重新編譯openLDAP
到openSSL
?
由於openSSL
由於安全問題而相當頻繁地更新,如果我不需要,我不想要它的靜態副本。以及爲什麼當openLDAP
是大多數發行版包的一部分時重新發布openLDAP
的專有副本...
我用Mozilla NSS而不是openSSL構建了openLDAP。這樣我就不會做任何尷尬的事情,並試圖解決別人的錯誤。 – Tobias 2014-10-15 05:38:21