我已經創建了一個動態庫(.so),它捆綁了我需要的存儲後端的一些功能。
由於它是,它提供了一個已知的接口,並提供的東西像memcached的,MySQL和SQLite的...等後端如何處理共享庫中的依賴關係,unix
現在我的問題是,我的共享庫依賴於libmemcached,在libsqlite3上的libmysqlclient ..等等,我不知道如何打包,因爲只需要sqlite的客戶端不需要安裝libmemcached。
我一直在考慮在不同的庫上分割它,但它似乎最終會有近20個.so庫,我不喜歡這個想法。
還可以嗎?
我很好奇 - 爲什麼不考慮第一種方法? – Sudhanshu 2010-11-19 12:52:31
@Sudhanshu該方法的問題是你必須得到每個需要的函數的地址,它對c工作正常,但對於C++,它需要一些雜耍(例如提供創建和刪除對象的功能)。 – 2010-11-19 12:56:54