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 

 

 

 

 

 

 

 

 

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