1. 微软的platform sdk xp-sp2安装 : http://hi.baidu.com/xiquegg/blog/item/a9b1eea3d54d998746106478.html 2.下载源代码:
3..编译过程: 编译osip,exosip协议栈的时候遇到很多的问题,不过终于通过了,现在将整个编译的过程和其中遇到的问题详细总结出来。 开发环境:Windows XP SP2 VC++ 6.0 (一)编译osip的静态链接库(*.lib)和动态链接库(*.dll),以便我们自己开发的程序能够使用它们来成功编译和执行。 1. 得到OISP的解析器开发库(osipparser2.lib,osipparser2.dll): Ø osipparser2.lib: · 首先创建一个新的Win32静态链接库工程(Win32 Stastic Library),然后将oSIP版本*.*.*下的src目录下的osipparser2目录下的所有文件都考到我们刚创建的工程的根目录下,然后再在VC6上操作:Project->Add to Project->Files,将所有的源程序和头文件都加入到工程内,然后保存工程,。 · 再将oSIP源码包中的Include目录下的osipparser2文件夹直接拷到VC6的安装目录的Include文件夹下(如:D:\Program Files\Microsoft Visual Studio\VC98\Include),或者在Tool->Options->Directories里设置路径也行(这样就不用拷贝文件了,直接把oSIP源码包所在的目录加进来就可以了)。 · 多线程编译,不然之后调用osip线程库时会出错。 ü 在Project->Setting->C/C++中“分类”一项中选择“常规”,然后在“预处理程序定义”一项中,加入OSIP_MT,MT,NEW_TIMER三个宏以支持多线程; ü 在选择“分类”项中的“Code Generation”,在“Use run-time library”中选择“Multithread”,多线程编译。 · 因为VC6自带的开发库太老了,之后再编译exosip的时候会出现很多莫名其妙的错误,所以顺便在这里就先升级一下系统的的Platform SDK(可以从微软的网站去下),安装在F盘(F:\psdk include & lib[1]),然后在VC6中使用这个PSDK,在Tool->option->Directories里设置,在“路径”中加入“F:\psdk include & lib[1]\Include”即可。 ·OK,现在可以编译工程了(为了防止日后返工,所以这里做了比较多的工作),编译后在Debug文件夹得到了osipparser2.lib。 Ø osiparser2.dll: · 与上面创建静态链接库的方法类似,不同的是要首先创建一个新的Win32动态链接库工程(Win32 Dynamic-Link Library),然后按照上面所述步骤处理,最后编译得到osipparser2.dll。 2. 得到OISP的协议栈开发库(osip2.lib,osip2.dll): · 同样按照上述方法,分别创建动态链接库工程和静态链接库工程,只是要拷贝的文件换成了源码包中src目录下的osip2文件夹下的文件和include目录下的osip2文件夹而已。 · 在编译osip2.dll的时候可能会出错,原因说是找不到链接库,所以将前面编译得到的osipparser2.lib文件也考到这个新建的动态链接库工程目录下,并在VC6中操作:Project->Setting->Link中的Object/Library Modules栏中,在kernel32.lib,user32.lib。。。之后加上osipparser2.lib,保存后再次编译,可成功编译osip2.dll。 至此,我们得到了完整的OSIP开发库,使用时,只需要在我们的程序中包含OSIP头文件,工程的链接参数中增加osip2.lib和osipparser2.lib即可。 (二).编译eXosip的静态链接库:(exosip.lib) · 和之前描述的方法基本一致,首先创建Win32静态链接库工程,然后将eXosip源码包中的src目录下的所有文件都考到新建的工程目录下,并且在VC6中加入这些文件。 · 将源码包中的inlude文件夹也整个考到新建的工程目录下。 · 按照上述方法,进行多线程编译的设置; · 按照上述的方法,设置PSDK的使用; · 编译得到exosip.lib。 |
相关文章
- ubuntu下用Gcc编译器编译c语言的静态和动态链接库范例
- Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)
- Linux下g++编译与使用静态库和动态库的方法
- osip和exosip在windows下的编译静态库
- windows下sqlite3静态库和动态库的编译
- linux下编译eXosip、osip,以及UAC和UAS的例子
- Linux下编译、使用静态库和动态库 自己测过的
- 在Windows下用VC编译SNMP++静态链接库snmp_pp.lib
- GEOS库在windows中的编译和测试(vs2012)
- OpenCv在win下静态库的编译和使用,以及部分无法解析外部符号的错误解决