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官網(wǎng)對PJSIP的概述餐济,本人就不做翻譯了。如果你有用到PJSIP庫的自然會了解一二胆剧。
第一步:下載
首先需要到官網(wǎng)下載PJSIP源碼庫絮姆,下載后綴為.tar.bz2的包
第二步:準(zhǔn)備
先解壓下載的包,根據(jù)官方的要求秩霍,再進入/pjlib/include/pj/的目錄下篙悯,創(chuàng)建添加一個命名為config_site.h的文件并添加以下內(nèi)容:
#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>
第三步:編譯
接下來就需要打開終端控制器來執(zhí)行編譯
1.真機上的靜態(tài)庫,真機上的處理器架構(gòu)分別為armv7前域、armv7s辕近、arm64。
1.1 armv7
在終端下逐次執(zhí)行命令
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.模擬器的靜態(tài)庫
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
注:如果遇到權(quán)限不夠情況匿垄,加chmod 777
以上命令執(zhí)行完成之后移宅,沒意外的情況下,所有生成的靜態(tài)庫就在分別就在各自文件夾
/pjlib/lib
/pjlib-util/lib
/pjmedia/lib
/pjnath/lib
/pjsip/lib
/third-parth/lib
的文件下椿疗。包括不同架構(gòu)的靜態(tài)庫
第四步:合并靜態(tài)庫
第五步:PJSIP頭文件
把頭文件整理到一塊放在include的文件夾下漏峰。把合并的靜態(tài)庫放在lib文件夾下。