您的位置:首页 > Web前端 > JavaScript

pjsip学习笔记之一 –pjsip库编译及使用

2016-07-30 23:14 344 查看
最近出于兴趣,想学习下开源的sip协议栈,然找了很多文章,依然没有找到想要的答案。下面就pjsip的编译及使用进行说明:

pjsip编译

从pjsip官网()下载最新的源码,将其解压到linux下。

1) cd pjsip-xx

2) ./configure 此处采用默认配置,若想进行一些配置,请查阅官网说明,此处主要是让一个新手能够快速上手,故不做深入分析。

3) 确认无误后执行 make dep&&make&&make install 4) 若无误则表示安装成功,pjlib生成的库文件位于/usr/local/lib,为了减少链接多个库文件,pjsip工程会生成一个配置文件/usr/local/lib/pkgconfig/libpjproject.pc。后续将会用到,其内容如下:

# Package Information for pkg-config

prefix=/usr/local
exec_prefix=${prefix}
libdir=/usr/local/lib
includedir=/usr/local/include

Name: libpjproject
Description: Multimedia communication library
URL: http://www.pjsip.org Version: 2.5
Libs: -L${libdir} -lpjsua2-i686-pc-linux-gnu -lstdc++ -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjmedia-videodev-i686-pc-linux-gnu -lpjmedia-audiodev-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjnath-i686-pc-linux-gnu -lpjlib-util-i686-pc-linux-gnu  -lsrtp-i686-pc-linux-gnu -lresample-i686-pc-linux-gnu -lgsmcodec-i686-pc-linux-gnu -lspeex-i686-pc-linux-gnu -lilbccodec-i686-pc-linux-gnu -lg7221codec-i686-pc-linux-gnu  -lpj-i686-pc-linux-gnu -lssl -lcrypto -lm -lrt -lpthread  -lasound
Cflags: -I${includedir} -I/usr/local/include -DPJ_AUTOCONF=1   -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1


pjsip库的使用

作为一个新手,面对如此一个工程,真不知如何下手才好,总想有一个入门的使用示例能够指导,此处列出了官方的一个示例说明如何构建自己的工程。

1) myapp.cpp

#include <pjlib.h>
#include <pjlib-util.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjsip.h>
#include <pjsip_simple.h>
#include <pjsip_ua.h>
#include <pjsua-lib/pjsua.h>
int main()
{
printf("test lib  ok \n");
return 0;
}


2) makefile

# If your application is in a file named myapp.cpp or myapp.c
# this is the line you will need to build the binary.
all: myapp

myapp: myapp.cpp
$(CC) -o $@ $< `pkg-config --cflags --libs libpjproject`

clean:
rm -f myapp.o myapp


3) 将/usr/local/lib/pkgconfig/libpjproject.pc拷贝至你的工程,即代码路径下

4) 编译即可。

2016/7/30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pjsip linux