一、源码下载
下载路径: http://www.antisip.com/download/exosip2/
eXosip库: libexosip2-5.0.0.tar.gz Osip扩展协议集
Osip库: libosip2-5.0.0.tar.gz Sip协议栈
下载路径: https://c-ares.haxx.se/
c-ares库: c-ares-1.13.0.tar.gz 异步DNS解析库(非必须)
二、解压源码
解压各压缩包后,放于同一目录并改名去除版本号。
libexosip2-5.0.0 -> exosip
libosip2-5.0.0 -> osip
c-ares-1.13.0 -> c-ares
特别注意:5.0.0版本的exosip缺少“exosip\src\eXrefer_api.c”文件,可从之前版本中获取。
三、工程编译
3.1 打开eXosip.sln解决方案。
3.2 eXosip工程属性点开
-
去除TSCOPENSSL、TSCWINDOWS、TSCSUPPORT 、HAVEOPENSSLSSLH这些宏定义。
-
libcares工程需要手动添加aresplatform.h、aresplatform.c、arescreatequery.c文件。
-
特别的,因为VS2015的stdio.h中定义了snprintf(),为避免重复定义,还需要修改以下代码段:
原代码
#define snprintf _snprintf
替换为
#if defined(_MSC_VER) && _MSC_VER<1900
#define snprintf _snprintf
#endif
3.3 编译eXosip工程,生成以下静态库:
eXosip.lib、libcares.lib、osip2.lib、osipparser2.lib
3.4 自己编译exe工程时还需添加以下依赖库:
Dnsapi.lib、Iphlpapi.lib、ws2_32.lib、Qwave.lib、delayimp.lib