PJSIP is a free and open source multimedia communication library written in C language implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol (SIP) with rich multimedia framework and NAT traversal functionality into high level API that is portable and suitable for almost any type of systems ranging from desktops, embedded systems, to mobile handsets.
这是PJSIP官网对PJSIP的概述,本人就不做翻译了。如果你有用到PJSIP库的自然会了解一二。
第一步:下载
首先需要到官网下载PJSIP源码库,下载后缀为.tar.bz2的包
第二步:准备
先解压下载的包,根据官方的要求,再进入/pjlib/include/pj/的目录下,创建添加一个命名为config_site.h的文件并添加以下内容:
#define PJ_CONFIG_IPHONE 1
#include
第三步:编译
接下来就需要打开终端控制器来执行编译
1.真机上的静态库,真机上的处理器架构分别为armv7、armv7s、arm64。
1.1 armv7
在终端下逐次执行命令
1.1.1
$ cd pjproject-2.5.5/ (到库包主目录文件夹下)
1.1.2
$ ARCH='-arch armv7'./configure-iphone
1.1.3
$ make dep && make clean && make
1.2 armv7s
1.2.1
$ cd pjproject-2.5.5/ (到库包主目录文件夹下)
1.2.2
$ ARCH='-arch armv7s'./configure-iphone
1.2.3
$ make dep && make clean && make
1.3 armv64
1.3.1
$ cd pjproject-2.5.5/ (到库包主目录文件夹下)
1.3.2
$ ARCH='-arch armv7s'./configure-iphone
1.3.3
$ make dep && make clean && make
2.模拟器的静态库
2.1 i386
2.1.1
$ cd pjproject-2.5.5/ (到库包主目录文件夹下)
2.1.2
$ export DEVPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
2.1.3
$ ARCH="-arch i386" CFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" LDFLAGS="-O2 -m32 -mios-simulator-version-min=5.0" ./configure-iphone
2.1.4
$ make dep && make clean && make
注:如果遇到权限不够情况,加chmod 777
以上命令执行完成之后,没意外的情况下,所有生成的静态库就在分别就在各自文件夹
/pjlib/lib
/pjlib-util/lib
/pjmedia/lib
/pjnath/lib
/pjsip/lib
/third-parth/lib
的文件下。包括不同架构的静态库
第四步:合并静态库
第五步:PJSIP头文件
把头文件整理到一块放在include的文件夹下。把合并的静态库放在lib文件夹下。