一千萬個為什麽

搜索

如何使用gcc從ubuntu下的靜態庫創建共享庫

我有一個靜態庫libsrp.a,我想從它創建一個包含所有符號的共享庫libsrp.so。請告訴我如何在ubuntu下制作.so。

謝謝

最佳答案

使用標誌重新編譯libsrp.a中包含的目標文件,以創建位置無關代碼(fpic),如

gcc -fpic -c foo.c
gcc -fpic -c bar.c

現在,您可以將foo.o和bar.o組合到共享庫中,如下所示

gcc -shared -o libshared.so foo.o bar.o

轉載註明原文: 如何使用gcc從ubuntu下的靜態庫創建共享庫