参考:https://blog.csdn.net/takeopen/article/details/79564185
一、源码下载
http://www.antisip.com/download/exosip2/,这里选择libeXosip2-3.5.0.tar.gz和libosip2-3.5.0.tar.gz
二、osip2库编译
cd libosip2-3.5.0/
./configure --enable-static
make
编译完成后在libosip2-3.5.0/src/osip2/.libs下生成libosip2.so,在libosip2-3.5.0/src/osipparser2/.libs下生成libosipparser2.so
三、eXosip2库编译
cd libeXosip2-3.5.0/
./configure --enable-static
由于eXosip要基于osip2库编译,故需要将osip2的头文件和库添加到linux系统默认搜索目录下
ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/include/osip2 /usr/include/osip2
ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/include/osipparser2/ /usr/include/osipparser2
ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/src/osip2/.libs/libosip2.so /usr/lib/libosip2.so
ln -s /home/runoob/work/my_project/sip/libosip2-3.5.0/src/osipparser2/.libs/libosipparser2.so /usr/lib/libosipparser2.so
cd /home/runoob/work/my_project/sip/libeXosip2-3.5.0
make
编译完成后在libeXosip2-3.5.0/src/.libs下生成libeXosip2.so
四、应用程序使用eXosip2和osip2库
修改Makefile如下,链接编译出来的库
INCLUDE += -I./libeXosip2-3.5.0/include
INCLUDE += -I./libosip2-3.5.0/include
LDFLAGS = -L./lib
LDFLAGS += -leXosip2 -losipparser2 -losip2 -lpthread
lib目录下包含的动态库如下
runoob@ubuntu:~/work/my_project/sip/sip_client$ ls lib
libeXosip2.so libeXosip2.so.6 libosip2.so libosip2.so.6 libosipparser2.so libosipparser2.so.6