Build eXosip on Win

1. download exosip   

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

2. download libcares and osip

decompress the files to self defined folder eXosip and rename the libexosip2-5.1.0 to eXosip(exosip\eXosip) ---the name defined in eXosip.sln project  

 windows: open the plateform vs project file: exosip\eXosip\platform\vsnet\eXosip.sln
   you'll find libcares/osip2/osipparser2 projects missed.

  libcares
   https://c-ares.haxx.se/
  decompress to exosip and rename it to c-ares(exosip/c-ares) --- the name defined in eXosip.sln project

  osip:
   http://savannah.gnu.org/projects/osip/  (include: osipparser2)
  decompress to exosip and rename it to osip(exosip/osip) --- the name defined in eXosip.sln project

3. openssl add

open exosip\eXosip\platform\vsnet\eXosip.sln, and build it with vs2015

rebuild exosip, will show not found openssl include headers error, need add openssl include files.

Use eXosip in your project

1.   add lib files  to your project.

  use the eXosip in you project , you will find there are many link error,
  many of  errors can easy to fix,  find the link error function, and added the depency lib will ok.

dependency libs.

//

Crypt32.lib
Ws2_32.lib
Dnsapi.lib
libeay32MD.lib
ssleay32MD.lib
eXosip.lib
libcares.lib
osip2.lib
osipparser2.lib
//

2. fix libcares errors

  but some of the error maybe confuse you, such as the libcares.lib link error.

1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>libcares.lib(ares_init.obj) : error LNK2019: 无法解析的外部符号 ares__getplatform,该符号在函数 get_DNS_Registry 中被引用
1>libcares.lib(ares_init.obj) : error LNK2019: 无法解析的外部符号 ares_strsplit,该符号在函数 set_search 中被引用
1>libcares.lib(ares_init.obj) : error LNK2019: 无法解析的外部符号 ares_strsplit_free,该符号在函数 ares_init_options 中被引用
1>libcares.lib(ares_query.obj) : error LNK2019: 无法解析的外部符号 ares_create_query,该符号在函数 ares_query 中被引用
1>C:\Users\E852640\Downloads\exosip\eXosipDemo\x64\Debug\eXosipDemoClient.exe : fatal error LNK1120: 4 个无法解析的外部命令

cause of those errors seemed libcares lost some of the functions.
maybe the eXosip project was added libcares project too long before, and didn't contain all of the latest source files.

fix: readd all the c-ares source code files and then rebuild it. or you can find which functions and files lost, and then add it.

exosip2 build的更多相关文章

  1. libeXosip2(3-1) -- eXosip2 INVITE and Call Management

    eXosip2 INVITE and Call Management SIP messages and call control API Functions int  eXosip_call_set_ ...

  2. 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用

    问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...

  3. [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform

    eclipse maven clean install 报错 1. 修改properties-->resource-->utf-8仍然报错 2.修改项目pom.xml文件,增加: < ...

  4. 解决 Could not find com.android.tools.build:gradle 问题

    今天拉同事最新的代码,编译时老是报如下错误: Error:Could not find com.android.tools.build:gradle:2.2.0.Searched in the fol ...

  5. 搭建TFS 2015 Build Agent环境(一)

    Download the build agent Downloading the build agent is really simple. Navigate to your TFS control ...

  6. Go build constraints

    Go语言有一个不(奇)错(葩)的设计,就是build constraints(构建约束).可以在源码中通过注释的方式指定编译选项,比如只允许在linux下,或者在386的平台上编译啊之类的:还可以通过 ...

  7. [异常解决] How to build a gcc toolchain for nRF51 on linux (very detailed!!!)

    1.Install gcc-arm-none-eabi https://devzone.nordicsemi.com/tutorials/7/This link shows that developm ...

  8. Microsoft Build 2016 Day 2 记录(多图慎入)

    Microsoft Build 2016 Day 1 记录 Microsoft Build 2016 进行到了第二天,我觉得这一天的内容非常精彩,因为主要和开发者相关

  9. Microsoft Build 2016 Day 1 记录

    去年今日:Microsoft Build 2015 汇总 今年的 Bulid 时间是 3.30-4.1,第一天的主角主要是 Windows 10.人工智能.HoloLens.小娜等,详细介绍:3 分钟 ...

随机推荐

  1. 【NOIP2016提高A组五校联考1】道路规划

    题目 分析 我们考虑,当现在有一个合法的集合时,如何往里面增加一个点,使这个集合仍然合法. 假设现在有一个合法的集合, 那么当我们加入一个点,它的道路穿过来整个集合,那么 然后搞一遍最长下降子序列就可 ...

  2. javaScript中的 this

    普通函数中的 this // es3中 function foo() { console.log(this);// 这里的this是 window } foo(); // 在es5中 严格模式下 fu ...

  3. Vue3.0 Function API---------引用

    1.了解 Vue 3.0 是否有 break change,就像 Python 3 / Angular 2 一样? 不,100% 兼容 Vue 2.0,且暂未打算废弃任何 API(未来也不).之前有草 ...

  4. python 小题

    python 小题:给定一个字符串,找出不含有重复字符的最长子串的长度.示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc&quo ...

  5. 【知识】location.search获取中文时候会被编码成一串字符

    [转码] 例如:case.html?id='这个是页面的标题' 当想要使用location.search获取?id='这个是页面的标题'的时候,包含的中文会被编码成一串字符串. 所以我们需要进行解码, ...

  6. JUnit——assertThat(acture,matcher)

    使用hamcrest之前需要引入相关的jar包,包括hamcrest-core.1.3.jar和hamcrest-library-1.3.jar. 具体引入的方法为:右击JUnit工程——build ...

  7. cpp 面向对象初步探索

    需求 尝试定义一个complex(复数类) 简略实现 headers/complex.h #ifndef __COMPLEX__ #define __COMPLEX__ class complex { ...

  8. SSM整合之---简单选课系统

    简单选课系统 一.实体图 二.功能 三.代码实现 1.SSM环境搭建 (1)pom.xml <dependencies> <dependency> <groupId> ...

  9. python中继承、定制类

    2.4python中继承 继承中不要忘了调用super().__init__ def __init__(self,args) super(subclass,self).__init___(args) ...

  10. git 配置 https和ssh 免密码登录 常用操作命令

    git 配置 https和ssh 免密码登录 一. 区分https clone 和 ssh clone 不同的克隆方式导致校验方式不同,对应的免秘方式也不一样. https通过记住账号密码免登,ssh ...