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. 【shell】文本按行逆序

    1.最简单的方法是使用tac [root ~]$ seq |tac 2.使用tr和awk. tr把换行符替换成自定义的分隔符,awk分解替换后的字符串,并逆序输出 [root ~]$ seq | tr ...

  2. 23.二叉搜索树的后序遍历(python)

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 这道题特别傻的地方: 当输入sequence为空时 ...

  3. ThoughtWorks.QRCode 生成二维码名片(实现二维码内容换行)

    最近在写一个很简单的功能,按照Vcard的格式,生成二维码名片.本来以为分分钟完事的事情,替换数据,直接调用dll去生成二维码. 测试时,发现生成的二维码使用微信扫描得到的名片信息为空,反向解析发现, ...

  4. jquery animated选择器 语法

    jquery animated选择器 语法 作用::animated 选择器选取当前的所有动画元素.直线电机参数 语法:$(":animated") jquery animated ...

  5. 中南林业大学校赛 I 背包问题 ( 折半枚举 || 01背包递归写法 )

    题目链接 题意 : 中文题 分析 :  价值和重量都太过于大,所以采用折半枚举的方法,详细可以看挑战的超大背包问题 由于 n <= 30 那么可以不必直接记录状态来优化,面对每个用例 直接采用递 ...

  6. sh_04_累加求和

    sh_04_累加求和 # 计算 0 ~ 100 之间所有数字的累计求和结果 # 0. 定义最终结果的变量 result = 0 # 1. 定义一个整数的变量记录循环的次数 i = 0 # 2. 开始循 ...

  7. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比(转载)

    在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型,Array ...

  8. Java日期时间格式转换

    1.Date转String 将日期格式化成指定的格式 public static String stampToDate(Date date) { SimpleDateFormat simpleDate ...

  9. 后盾网lavarel视频项目---2、phpstorm显示类中的方法快捷键

    后盾网lavarel视频项目---2.phpstorm显示类中的方法快捷键 一.总结 一句话总结: ctrl + f12 1.npm安装js插件? npm install hdjs 2.phpstor ...

  10. 后盾网lavarel视频项目---lavarel中间件(使用中间件拦截没登录的用户)

    后盾网lavarel视频项目---lavarel中间件(使用中间件拦截没登录的用户) 一.总结 一句话总结: 1.中间件中验证用户是否登录:if(!Auth::guard('admin')->c ...