PJSIP for iOS:一、PJSIP库的编译

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/ (到库包主目录文件夹下)

PJSIP for iOS:一、PJSIP库的编译_第1张图片

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


PJSIP for iOS:一、PJSIP库的编译_第2张图片

以上命令执行完成之后,没意外的情况下,所有生成的静态库就在分别就在各自文件夹

/pjlib/lib

/pjlib-util/lib

/pjmedia/lib

/pjnath/lib

/pjsip/lib

/third-parth/lib

的文件下。包括不同架构的静态库


第四步:合并静态库


PJSIP for iOS:一、PJSIP库的编译_第3张图片

第五步:PJSIP头文件

PJSIP for iOS:一、PJSIP库的编译_第4张图片

把头文件整理到一块放在include的文件夹下。把合并的静态库放在lib文件夹下。

你可能感兴趣的:(PJSIP for iOS:一、PJSIP库的编译)