VS2013下编译libeXosip2

    xiaoxiao2021-12-14  20

    1.下载需要库的源文件

    从http://www.antisip.com/download/exosip2/ 页面下下载libeXosip2 和libosip2这两个压缩文件。(我下载的libexosip2-5.0.0.tar.gz中有缺失一个eXrefer_api.c文件的问题)

    从连接https://c-ares.haxx.se/处下载c-ares全部下载解压统一放到一个文件夹下,然后修改文件夹的名字, libexosip2-xxx 修改为exosip libosip2-xxx 修改为osip c-ares-xxx 修改为c-ares

    2. 进入exosip文件夹下的目录:.\platform\vsnet 。 打开eXosip.sln后会加载相关项目

    如果出现osip2,osipparser2项目不能加载进来,请查看vsnet下的eXosip.vcxproj文件中相应项目的文件夹位置是否和这里的对应。这也是为什么上面第一步中把那些解压后的都放在一个文件夹下。

    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

    参考文章

    VS2013编译eXosip2-4.1.0

    转载请注明原文地址: https://ju.6miu.com/read-971693.html

    最新回复(0)