VS2010下编译libeXosip2.5.0
1. 下载源码
http://www.antisip.com/download/exosip2/ 下载libexosip2-5.0.0.tar.gz, libosip2-5.0.0.tar.gz
在https://c-ares.haxx.se/ 下载c-ares-1.12.0.tar.gz
2. 解压
三个文件解压在同一个文件夹下面,分别目录是exosip osip c-ares目录
3. 编译
进入exosip文件夹下的目录:.\platform\vsnet 。用vs2010打开工程问题件, 打开eXosip.sln需要vs2015高版本
libcares.vcxproj下加入三个文件ares_platform.h,ares_platform.c,ares_create_query.c选项,否则在调用生成库时会出现
error LNK2019:无法解析的外部符号_ares_getplatform,该符号在函数_get_DNS_Registry中被引用。
error LNK2019:无法解析的外部符号_ares_create_query,该符号在函数_ares_query中被引用。
3. 去掉一些预定义(HAVE_OPENSSL_SSL_H,TSL_SUPPORT),不然在编译的时候出现
error C1083: 无法打开包括文件: “openssl/opensslv.h”: No such file or directory
IntelliSense: 无法打开 源 文件 “tsc_socket_api.h”
IntelliSense: 未定义标识符 “tsc_config”
在编译 libexosip2-5.0.0.tar.gz 这个版本时出现一个缺失文件的问题,后来发现时这个版本中就是缺失了“eXrefer_api.c”这个文件,而在其配置文件中添加了这个文件,导致找不到这个文件。后来在前面的版本中找到了这个文件加进去后就没问题了。
4.对eXosip进行编译。成功编译!
在项目中使用
5.项目中添加哪些库文件
Dnsapi.lib;Iphlpapi.lib;ws2_32.lib;eXosip.lib;osip2.lib;osipparser2.lib;Qwave.lib;libcares.lib;delayimp.lib;
不然可能有各种连接错误!
缺少delayimp.lib会出现
error LNK2001: 无法解析的外部符号 ___HrLoadAllImportsForDll