Linux上建立共享庫so(簡單步驟)

2021-04-17 22:03:22 字數 1122 閱讀 7243

1、建立

math1.c,在命令列中輸入:nano math1. c

int add(int x, int y)

2、編譯生成共享庫libmath1.so

gcc -fpic -shared -olibmath1.so math1.c

3、建立測試

程式testmath.c,在命令列中輸入:

nano testmath. c

#include

int main()

4、編譯生成測試

程式testmath

gcc -otestmath -lmath1 testmath.c -l=./

5、執行測試程式,在命令列中輸入:./testmath

出現找不到共享庫的錯誤:

./testmath: error while loading shared libraries: libmath1.so: cannot open shared object file: no such file or directory

6、拷貝libmath1.so到linux系統預設的共享庫載入路徑(/lib或/usr/lib)

在命令列中輸入:sudo cp libmath1.so /usr/lib/

7、重新執行測試程式testmath

結果:10+18=28

關於gcc的編譯引數

-fpic 生成與位置無關的**,這樣庫就可以在任何位置被連線和裝載

-shared 代表共享庫

-o 鏈結生成指定名字的庫或

程式-l 指定要鏈結的共享庫

-l 指定共享庫所在路徑

Linux上FFmpeg生成so庫

我用的是ubuntu做開發的,之前使用過centos7去編譯的 感覺太麻煩出錯了,從朋友那得知ubuntu和debian 是適用於開發的 1.cd home 切換到home 目錄 2.mkdir ndk在home目錄下新建資料夾 ndk 3.把linux版的ndk上傳到ubuntu伺服器上 4.cd...

linux 簡單呼叫so庫

1 動態庫生成 gcc fpic shared cat.c o libcat.so o是要生成的檔案的名稱 2 編譯指令直接鏈結呼叫 gcc main.c l.lcat o test l.表示鏈結的動態庫在本地資料夾 執行可執行檔案時,需要新增本地目錄到lib目錄,否則會報 cannot open ...

linux下構建 共享函式庫( so)

在linux上用c建立共享庫so 1 建立math1.c,在命令列中輸入 nano math1.c int add int x,int y 2 編譯生成共享庫libmath1.so gcc fpic shared olibmath1.so math1.c 3 建立測試程式testmath.c,在命令...