首页 > 系统相关 >exosip osip Windows下载编译

exosip osip Windows下载编译

时间:2023-02-17 20:02:05浏览次数:50  
标签:依赖 .. Windows exosip osip 编译 eXosip

前言

官网主页

​​​​​​http://savannah.nongnu.org/projects/exosip/​

​​下载

​​Index of /download/exosip2/ (​​antisip.com​​)​​

当前源码版本

libexosip2-5.3.0.tar.gz

libosip2-5.3.0.tar.gz

编译

修改库文件夹名称

解压上述两个压缩包得到如下的文件夹

libexosip2-5.3.0

libosip2-5.3.0

修改文件夹名称分别为exosip,osip,然后拷贝到开源库文件夹下

exosip osip Windows下载编译_exosip osip Windows

原因

例如osip2.vcxproj工程属性文件中包含的源码文件路径如下:

    <ClCompile Include="..\..\..\osip\src\osip2\fsm_misc.c" />

   <ClCompile Include="..\..\..\osip\src\osip2\ict.c" />

并没有携带lib和版本号2-5.3.0

否则提示无法打开..\..\..\osip\src\osip2\fsm_misc.c等编译错误

添加工程属性文件

osip\platform\vsnet\osip2.vcxproj

osip\platform\vsnet\osipparser2.vcxproj

exosip\platform\vsnet\eXosip.vcxproj

exosip工程属性配置预处理

去掉HAVE_OPENSSL_SSL_H,TSL_SUPPORT

TSC_SUPPORT宏定义指定了通信方式tsc_socket,依赖tsc_socket_api.h等具体的实现,目前仅使用winsocket,因此不能添加到预处理器里面

HAVE_OPENSSL_SSL_H宏定义指定了通信方式进行加密,依赖OpenSSL,目前不需要,因此不能添加到预处理器里面

最后保留结果:

SRV_RECORD

_CRT_SECURE_NO_DEPRECATE

ENABLE_TRACE

WIN32

EXOSIP_EXPORTS

_WINDOWS

_USRDLL

_DEBUG

_MT

exosip添加编译依赖项

exosip依赖osip,osipparse2库

生成依赖项中选择项目依赖项

调用工程属性配置

附加包含目录

..\..\..\openlibrary\exosip\src

..\..\..\openlibrary\osip\include

..\..\..\openlibrary\exosip\include

附加库目录

..\..\..\project\studyboost\v141\Win32\Debug

附加依赖项

eXosip.lib

osip2.lib

osipparser2.lib

Dnsapi.lib

依赖关系

libosip 编译生成 libosipparser2 和 libosip2,libosip2 依赖 libosipparser2

libeXosip 编译生成 libeXosip2,依赖libosipparser2 和 libosip2


测试例子

#include "eXosip2/eX_setup.h"
#include "eXosip2.h"
#include <iostream>


int TestSIP()
{
eXosip_t eXosipContent;
int i = eXosip_init(&eXosipContent);
if (0 == i)
{
i = eXosip_listen_addr(&eXosipContent, IPPROTO_UDP, "127.0.0.1", 5061, AF_INET6, 0);
if (0 != i)
{
eXosip_quit(&eXosipContent);
return 0;
}
}
while (1)
{
eXosip_event_t* eXosipEvent = eXosip_event_wait(&eXosipContent, 0, 200);
if (NULL == eXosipEvent)
{
continue;
}

switch (eXosipEvent->type)
{
case EXOSIP_MESSAGE_NEW:
{
std::cout << "接收到一条新消息" << std::endl;
break;
}
default:
break;
}
}
return 0;
}



编译问题

1无法解析的外部符号 _DnsFree

错误 LNK2019 无法解析的外部符号 _DnsFree@8,该符号在函数 __eXosip_dnsutils_srv_lookup 中被引用

错误 LNK2019 无法解析的外部符号 _DnsQueryConfig@24,该符号在函数 _eXosip_dnsutils_naptr 中被引用

错误 LNK2019 无法解析的外部符号 _DnsQuery_UTF8@24,该符号在函数 __eXosip_dnsutils_srv_lookup 中被引用

解决方案

附加以来项添加Dnsapi.lib

2error C2011: “sockaddr”:“struct”类型重定义错误 

添加WIN32_LEAN_AND_MEAN到预处理器


标签:依赖,..,Windows,exosip,osip,编译,eXosip
From: https://blog.51cto.com/fengyuzaitu/6064503

相关文章

  • 通过Windows定时任务执行Python脚本给钉钉群发送消息
    前提:已经存在有成功发送钉钉群机器人消息的python脚本,参考上一篇Python调用钉钉群机器人发送群消息Windows定时任务设置1、本机是Win7系统:控制面板->系统和安全->管理工......
  • 科学冲浪后 Windows Store和 ToDo等UWP无法登录和同步
    找了很久,其实主要是科学冲浪后,UWP类应用做了一些网络代理的限制,找到一个方法:建议客户端代理软件用clashforwindows。里面有一个UWPLoopback功能挺好用的,可以直接选择哪......
  • windows cmd基础命令
    cmdmd新建目录rd 删除目录(非空目录)rd 删除目录下所有文件cd 改变当前目录cd.. 返回上一级目录cd\ 返回根目录d: 切换盘符到D盘dir 显示当前目录下的文件del1.txt 删除......
  • Rsync实现Linux-Windows文件同步
     Window客户端同步到Linux服务器的文件夹:从linux服务器的文件夹里面的内容同步到(复制,覆盖和删除等操作)windows客户端主机.环境:CentOS6.8x64Linux服务器:19......
  • windows字体问题
    windows字体问题(Win7)1.乱码某些Delphi写的软件字体乱码;区域/语言等全改美国/英语,然后再改成中国/中文,3个地方,以上操作完成后正常2.语言标识代码如中文0804#de......
  • Windows 10 无网络的情况下手动升级补丁的流程和方法:
    Windows10无网络的情况下手动升级补丁的流程和方法:从微软官网下载需要的更新补丁;将下载的更新补丁保存到本地;打开“设置”,点击“更新和安全”;点击“查看可用更新”,......
  • Windows远程桌面连接卡死解决办法
    原文地址问题描述连接远程桌面时,能进入到远程主机,但是屏幕显示黑色解决办法这个方法来自微软社区,算是技术人员给出的一个方法,大致意思就是这种问题多是因为UDP连接不畅......
  • hta--Windows运行html的桌面应用程序(HTML应用程序)
    HTA(HTMLApplication)--HTML应用程序作为前端开发,我们能熟练使用html实现各种效果,但是如果要实现一个简单的桌面应用程序那么应该怎么做呢,答案很简单,只需要把html文件后缀......
  • WINDOWS SERVER 2016 设置使用照片查看器查看图片
    1.使用win+R快捷键快速打开运行,输入regedit打开注册表2.在注册表中找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations3......
  • Windows 环境下安装与配置 Node.js
    一、下载Node.js安装包下载地址:http://nodejs.cn/download/本教程以msi安装包为例点击Windows安装包下载二、安装Node.js1.打开安装包欢迎页:点击Next2.允许......