vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境
转载于:http://blog.csdn.net/lbc2100/article/details/48293911
本文为参考网上的动态库的方式,进行静态库的实现,在此对动态库的作者表示感谢。
第一步,下载:
到http://ftp.gnu.org/gnu/osip/libosip2-4.0.0.tar.gz下载osip2库并解压。
到http://download.savannah.gnu.org/releases/exosip/libeXosip2-4.0.0.tar.gz下载eXsoip2库并解压。
第二步,编译osip2: 1、用VS2010打开libosip2-4.0.0/platform/vsnet/osip.sln
2、VS2010会打开转换向导,直接下一步
3、在转换之前,是否创建备份?选择《否》
4、完成转换。
5、选择osip2项目,编译生成Debug(使用静态库)
6、选择osipparser2项目,编译生成Debug
7、或选择《生成解决方案》进行一起编译生Debug(使用静态库) (本文档采用这个方式)
8、从Debug 文件夹中复制出osip2.libosipparser2.lib文件备用
第三步,编译eXosip2:
1、 用VS2010打开libeXosip2-4.0.0\platform\vsnet\eXosip.sln
2、 VS2010会打开转换向导,直接下一步
3、在转换之前,是否创建备份?选择《否》
4、完成转换。
5、我们暂时用不到openSSL,所以 工程名-->右击-->属性-->配置属性-->C/C++-->预处理器-->预处理器定义里面的HAVE_OPENSSL_SSL_H宏去掉
6、在工程名-->右击-->属性-->配置属性-->C/C++ --> 常规 --> 附加包含目录: 将osip的头文件libosip2-4.0.0\include包含进来
7、在项目转换的过程中,会在Source Files中多出一个eXtl.c文件,需要删除。
8、编译、生成Debug的eXosip.lib(静态库)
第四步,新建SIP通信项目
1、 在工程目录下,建立include目录用于存放osip2、osipparser2、eXosip2的头文件。
2、 在工程目录下,建立libosip2_a_debug目录用于存放第二、第三步生成的库文件。
3、 工程名-->右击-->属性-->配置属性-->链接器 --> 输入 -->附加依赖项:增加静态库引用:Dnsapi.lib;Iphlpapi.lib;Ws2_32.lib;eXosip.lib;osip2.lib;osipparser2.lib;
4、 工程名-->右击-->属性-->配置属性-->C/C++ -->常规 -->附加包含目录: 将osip和eXosip的头文件include包含进来
5、 工程名-->右击-->属性-->配置属性-->链接器 --> 常规 --> 加附库目录:将osip和eXosip的库包含进来,libosip2_a_debug
6、对于使用动态库,需要把osip2.dll、osipparser2.dll放入Debug目录下。(此外不用)
7、在使用动态库时,可能会出现error LNK2019 无法解析的外部符号的错误,如下图所示产生这些错误是因为需要用到的一些函数在osip库在def文件中没导出。需要修改\libosip2-4.0.0\platform\vsnet目录下面的osip2.def、osipparser2.def两个文件,在文件的末尾导出这些函数,具体如下: 到libosip2-4.0.0\platform\vsnet目录下找到osip2.def和osipparser2.def文件,打开osip2.def文件,在最末尾加一行 osip_transaction_set_naptr_record @138 打开osipparser2.def文件,在文件最后添加 osip_realloc @416 osip_strcasestr @417 __osip_uri_escape_userinfo @418 保存,关闭。回到第二步重新执行即可。
至此,eXosip开发的环境已经搭建完成。
vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境的更多相关文章
- VS2010 下编译 cocos2d-x-2.1.4
在VS2010 下编译 cocos2d-x-2.1.4 首先感谢 cocos2d-x 团队为我们做出这么好的跨平台框架,让我们这些码农省了很多时间,事半功倍. 里沃特最近在编译 win32 版本的 ...
- 在vs2010下编译boost
1. 解压缩后,运行bootstrap.bat批处理文件,得到bjam.exe; 2. 在vs2010下编译boost boost最新版本已经支持vs2010,然而直接下载编译会发现一堆bug: 首先 ...
- 在VS2010下编译和使用tesseract_ocr识别验证码
对于自动识别验证码,使用trsseract是个不错的选择,有兴趣的的朋友可以试试. 编译tesseract 官网提供了vs2008的编译说明和工程,但在vs2010下的编译时基本相同的,因此我使用的方 ...
- VS2010下编译配置Boost_1.53
一.准备工作 1.下载最新版本的boost库.所在地址:boost_1_53_0.zip.官方推荐7z压缩格式的,因为其压缩效率更好,相应包的大小也比较小. 2.解压缩到指定目录,如C:\boost_ ...
- Ubuntu16.04下搭建开发环境及编译tiny4412 Android系统【转】
本文转载自:http://blog.csdn.net/songze_lee/article/details/72808631 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.安装ssh服务器 ...
- Windows下: RubyMine + Ruby On Rails + mysql 搭建开发环境
最近在接手一个手机项目.在搭建环境的过程中,遇到了一些问题,在下文中已做记录,并奉上个人的解决方案. 开发环境 win2003 ; JetBrains RubyMine6.3.3 1. 下载最新版 ...
- FFMpeg在Windows下搭建开发环境【转】
本文转载自:http://blog.csdn.net/wootengxjj/article/details/51758621 版权声明:本文为博主原创文章,未经博主允许不得转载. FFmpeg 是一个 ...
- Win7 32位系统下Sublime text 3的安装以及配置C/C++、java、python的开发环境方法
本人初学者,此文仅是对这几天鼓捣subime text 3一点微不足道的经验总结,如有明显错误,欢迎指正! 好了,废话少说,进入正题,之前编程java一直用的是eclipse,java的主流IDE,后 ...
- Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境2
四.虚拟环境的安装和配置 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包 虚拟环境可以将开发环 ...
随机推荐
- Daily Scrum 11.2
由于11月1号是周六,小组里人不是很齐,所以Scrum会议暂停一次. 周日大家的工作都已经进入到尾声了,但是由于人员方面出现一些问题,界面方面做的还不到位.鉴于我们还只是完成了一个比较简单的工作,与真 ...
- 在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码
类似教程链接:http://www.cocoachina.com/bbs/read.php?tid=205043 步骤: 一.Quick-cocos2d-x 最新版本或要打算使用的版本 (http:/ ...
- Chrome开发,debug的使用方法。
怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...
- java中类的继承
我们都知道java的四大特性:抽象.继承.封装.多态: 那么关于继承有哪些特性呢?下面看具体实例: (1) public class Person { public int a=2; public ...
- html代码中的form参数是基本一致的
由于pear的大多数模块仍处于开发当中,因此,这里列举的是随着php4.05一起发布的pear中的模块,需要注意的是,一些抽象类或者是基类(如mail.php,log.php,cache.php)没有 ...
- c#前3章总结
01.net和c#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标:任何人,在任何地方,使用任何终端设备,都可以访问微软提供的服务. .net Framework:要想让 ...
- Android课程---Android Studio使用小技巧:提取方法代码片段
这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...
- php课程---练习(联系人信息表)
做一个联系人表,实现增删改功能 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- JS中的特有语句-for in
<script> /* *js中特有语句for in *for(变量 in 对象)//对对象进行变量的语句 *{ *} */ var arr = [32,80,65]; for(i in ...
- Visual Studio中删除所有空行
解决方法如下: 使用快捷键Ctrl+H,显示查找和替换视图菜单 Find what(查找内容):^:b*$\n Replace with(替换为):[Empty] (空字符串,什么都不用填) Look ...