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...