eXosip2+mediastreamer2教程一 : vs2017編譯5.1版本的osip2和eXosip2庫靜態庫及測試

下載:
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 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章