PJSIP——Linux编译库并使用

本文详细介绍了如何在Linux环境下配置、编译、链接并使用pjsip库,包括配置脚本、编译命令、库依赖、Makefile编写及测试代码实现等关键步骤。同时解释了在编译过程中遇到的链接错误问题及其解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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给贴出来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值