PJSIP——Linux编译库并使用

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-simple-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
6、参考学习,如下:


pjsip库的使用

二,linux下pjsip库的使用,这个想多来说比较简单一下,没走很多弯路,也有两种方法使用库:
      1,  直接gcc进行编译,gcc -o -Iqq -Lww -lee  -lpthread -lm   qq代表静态库头文件的路径,ww代表库文件所在的目录,ee为库的名称,但是要去掉lib和.a的扩展名。编译的时候没有加-lpthread,结果一直报错,查资料说要链接多线程的库,至今不是很明白。
           2,写个Makefile文件,这个比较简单,但是两种方法都要搞清库的依赖性,要不然仍然会出现错误,改天有空把Makefile给贴出来。


你可能感兴趣的:(PJSIP)