PJSIP Linux編譯庫並使用

2021-07-06 07:59:27 字數 1758 閱讀 9961

1、./configure

2、make dep && make

3、copy所有的靜態庫到test/lib 下,copy所有的.h 檔案到test/include下。

4、編寫測試**hellosip.c

5、編寫makefile,如下(注意.a靜態庫的包含順序?):

obj= hellosip

cc= gcc

cflags= -wall -o

vpath= ./

libs= -lpthread -lm

include= -i$(vpath)include

lib_dir= -l$(vpath)lib

lib= -lpjsua-i686-pc-linux-gnu\

-lpjmedia-i686-pc-linux-gnu\

-lpjsdp-i686-pc-linux-gnu\

-lpjsip-******-i686-pc-linux-gnu\

-lpjsip-ua-i686-pc-linux-gnu\

-lpjsip-i686-pc-linux-gnu\

-lpjmedia-videodev-i686-pc-linux-gnu\

-lpjsdp-i686-pc-linux-gnu\

-lpjmedia-codec-i686-pc-linux-gnu\

-lpjmedia-audiodev-i686-pc-linux-gnu\

-lpjmedia-i686-pc-linux-gnu\

-lpjnath-i686-pc-linux-gnu\

-lg7221codec-i686-pc-linux-gnu\

-lportaudio-i686-pc-linux-gnu\

-lgsmcodec-i686-pc-linux-gnu\

-lresample-i686-pc-linux-gnu\

-lilbccodec-i686-pc-linux-gnu\

-lspeex-i686-pc-linux-gnu\

-lsrtp-i686-pc-linux-gnu\

-lpjlib-util-i686-pc-linux-gnu\

-lpj-i686-pc-linux-gnu\

-lm -luuid -lnsl -lrt -lpthread

$(obj):

$(cc) -o $(obj) $(obj).c $(include) $(lib_dir) $(lib) $(libs)

clean:

rm -f *.o

pjsip庫的使用

二,linux下pjsip庫的使用,這個想多來說比較簡單一下,沒走很多彎路,也有兩種方法使用庫:

1,  直接gcc進行編譯,gcc -o -iqq -lww -lee  -lpthread -lm   qq代表靜態庫標頭檔案的路徑,ww代表庫檔案所在的目錄,ee為庫的名稱,但是要去掉lib和.a的副檔名。編譯的時候沒有加-lpthread,結果一直報錯,查資料說要鏈結多執行緒的庫,至今不是很明白。

2,寫個makefile檔案,這個比較簡單,但是兩種方法都要搞清庫的依賴性,要不然仍然會出現錯誤,改天有空把makefile給貼出來。

VC 呼叫並編譯靜態庫

新建乙個win32 靜態庫 c或cpp include stdafx.h include lib.h int pascal far lib add int n h標頭檔案 ifndef lib define lib if msc ver 1000 pragma once endif pull in ...

linux下編譯靜態庫並呼叫

目錄結構如下 root ubuntu home aaa maketest ls l total 12 rw r r 1 root root 127 sep 24 19 09 main.cpp rw r r 1 root root 99 sep 24 19 18 test.cpp rw r r 1 r...

linux下編譯動態庫並呼叫

目錄結構如下 root ubuntu home aaa maketest ls l total 12 rw r r 1 root root 127 sep 24 19 09 main.cpp rw r r 1 root root 99 sep 24 19 18 test.cpp rw r r 1 r...