下載:
https://c-ares.haxx.se/ 下載:c-ares-1.15.0.tar.gz
http://ftp.twaren.net/Unix/NonGNU//osip/ 下載:libosip2-5.1.0.tar.gz
http://ftp.yzu.edu.tw/nongnu/exosip/ 下載:libexosip2-5.1.0.tar.gz
官方文檔http://www.antisip.com/documentation/exosip2/group__howto__registration.html
解壓到同文件夾且重命名
打開exosip\platform\vsnet文件夾下的eXosip.sln,會提示升級,確定
關閉vs修改exosip\platform\vsnet文件夾下的libcares.vcxproj
ares_platform.h
ares_platform.c
ares_create_query.c
ares_strsplit.h
ares_strsplit.c
頭文件放一起
再打開項目
點擊工程eXosip, 右鍵選擇屬性,配置屬性->c/c+±>預處理器->預處理器定義,去掉 HAVE_OPENSSL_SSL_H:也可加入ssl 源碼
修改eXrefer_api.c 爲https://github.com/aurelihein/exosip/blob/master/src/eXrefer_api.c 內容
再修改osip\platform\vsnet目錄下面的osip2.def、osipparser2.def兩個文件,具體如下:
打開osip2.def文件,在最末尾加一行:
osip_transaction_set_naptr_record @138
打開osipparser2.def文件,在文件最後添加:
osip_realloc @417
osip_strcasestr @418
__osip_uri_escape_userinfo @419
ok
最後在解決方案上點擊 重新生成解決方案 最後找到debug下的lib文件 4個 這個不需要編譯動態庫
測試新建項目
導入include和lib 在分別項目的include 下拷過來 lib爲剛纔編譯的
項目配置include的和lib
好了新建一個測試
#include <eXosip2/eXosip.h>
#include <winsock.h>
#pragma comment(lib, "Dnsapi.lib")
#pragma comment(lib, "Iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "eXosip.lib")
#pragma comment(lib, "libcares.lib")
#pragma comment(lib, "osip2.lib")
#pragma comment(lib, "osipparser2.lib")
#pragma comment(lib, "Qwave.lib")
#pragma comment(lib, "delayimp.lib")
int main()
{
eXosip_t* sip = eXosip_malloc();
if (eXosip_init(sip) == OSIP_SUCCESS)
{
printf( "exosip init success");
if (eXosip_listen_addr(sip, IPPROTO_UDP, NULL, 0, AF_INET, 0) == OSIP_SUCCESS)
{
printf(exosip listen addr success" );
}
}
eXosip_quit(sip);
system("pause");
return 0;
}
運行看到success 表示成功
後續教程請博客列表查看
對此感興趣的可以加羣261074724