最近做了GB28181项目,选择SIP协议栈的时候,纠结了好一段时间。看过PJSIP、OSIP等等,从资料资源来说,都很多;追求代码优美的话,PJSIP比OSIP写的对比层次和结构分明的多,但是一开始比较难看懂;从稳定性上来讲,PJSIP会要好一点,但OSIP没有网上的朋友说的那么不堪,做设备端的协议栈足够了,而且又很小。我只是做设备的GB28181,所以选择了OSIP比较新的版本,libosip2-3.6.0、libeXosip2-3.6.0。下面记录下,交叉编译方法,需要交流使用方法加群:298940620。
首先编译libosip2-3.6.0:
make clean
./configure --prefix=/home/tang/arm-osip/lib --host=arm-none-linux-gnueabi --with-gnu-ld --disable-test
make
make install
然后编译libeXosip2-3.6.0:
make clean
./configure --prefix=/home/tang/arm-osip --host=arm-none-linux-gnueabi --with-gnu-ld --disable-openssl OSIP_CFLAGS=-I/home/tang/arm-osip/lib/include OSIP_LIBS="-L/home/tang/arm-osip/lib/lib -losip2 -losipparser2"
make
make instal
--prefix 指定编译后保存生产库的路径
--host 指定交叉编译器