Window下利用VS2008编译eXosip2-3.6.0
作者:互联网
说明:网上的查到的一般都是eXosip有静态编译,这种方法编译出来的lib库有局限性,如在Qt+MingW下就编译不过,
所以还是编译成动态库的方式比较合适。
一、下载libosip2-3.6.0和libeXosip2-3.6.0
1)http://download.savannah.gnu.org/releases/exosip/libeXosip2-3.6.0.tar.gz
2)http://download.savannah.gnu.org/releases/osip/libosip2-3.6.0.tar.gz
二、编译osip2
1)解压libosip2-3.6.0.tar.gz到E:\opensource目录下,更改libosip2-3.6.0\platform\vsnet\osip2.def 文件,在文件末尾追加
osip_transaction_set_naptr_record @138
2)更改libosip2-3.6.0\platform\vsnet\osipparser2.def 文件,在文件末尾追加
osip_realloc @416
osip_strcasestr @417
__osip_uri_escape_userinfo @418
3)进入libosip2-3.6.0\platform\vsnet目录,用VS2008直接打开osip.sln文件,项目自动转换
4)先编译osipparser2,再编译osip2,最后在libosip2-3.6.0\platform\vsnet\Debug DLL下生成库文件:
osip2.lib
osip2.dll
osipparser2.lib
osipparser2.dll
三、编译eXosip2
1)解压libeXosip2-3.6.0.tar.gz到E:\opensource目录下,更改libeXosip2-3.6.0\platform\vsnet\eXosip2.def文件,在文件末尾追加
eXosip_call_set_reference
eXosip_call_build_initial_invite
eXosip_call_send_initial_invite
eXosip_call_build_request
eXosip_call_build_ack
eXosip_call_send_ack
eXosip_call_build_refer
eXosip_call_build_info
eXosip_call_build_options
eXosip_call_build_update
eXosip_call_build_notify
eXosip_call_send_request
eXosip_call_build_answer
eXosip_call_send_answer
eXosip_call_terminate
eXosip_call_build_prack
eXosip_call_send_prack
eXosip_call_get_referto
eXosip_call_find_by_replaces
2)进入libeXosip2-3.6.0\platform\vsnet\目录,用VS2008直接打开eXosip.sln文件,项目自动转换
3)右键工程,修改几个属性
1、常规,癣配置类型设置成动态库
2、C\C++常规,将osip的头文件libosip2-3.6.0\include包含进来
3、C/C++ -—> 预处理器,将预处理器定义的中HAVE_OPENSSL_SSL_H删除掉
4、链接器—>常规,将输出文件改为$(OutDir)\$(ProjectName)2.dll
5、链接器—>输入—>附加依赖项:增加依赖库引用:Dnsapi.lib;Iphlpapi.lib;Ws2_32.lib;osip2.lib;osipparser2.lib;exosip.lib
6、链接器—>输入—>模块文件定义,改为eXosip2.def
7、上述设置修改完成后,编译生成eXosip2.lib和eXosip2.dll,再加上之前已经编译生成的osip2.lib、osip2.dll、osipparser2.lib、
osipparser2.dll,就可以进行sip开发了。
标签:VS2008,lib,3.6,Window,call,build,libosip2,eXosip 来源: https://www.cnblogs.com/zhangnianyong/p/16123330.html