注意:在最新版本的osip2、exosip2中已经不支持在VC6.0下编译osip、exosip库的方法。
说明:
1.以下文章中的osip版本为3.5.0 ,eXosip版本为3.5.0
2.编译环境为:Windows XP 专业版本+VS 2005
3.需要下载osip、exosip、openssl的开发包,用到的库包括:osip2.dll、osipparser2.dll、exosip2.dll、libeay32.dll、ssleay32.dll和相对应的lib文件
编译步骤:
第一步,下载:
下载最新的openssl库并解压
下载最新的osip库并解压
下载最新的eXsoip库并解压
第二步,编译openssl库
编译过程见:http://blog.csdn.net/caizi001/article/details/38736041
第三步,编译osip3.5.0:
1.用VS2005打开libosip2-3.5.0/platform/vsnet/osip.sln
2.对osip2和osipparser2项目生成Release DLL。其中对osipparser2以静态链接库形式编译,osip2可以编译成动态链接库,也可以编译成静态链接库,但为了编译exosip的方便,建议都编译成静态链接库。
3.其生成的LIB/DLL 位于:libosip2-3.5.0/platform/vsnet/Release DLL/目录下
4.如果有出现外部变量找不到的情况,很有可能是生成的dll没有实现该函数,在def文件中删除找不到的外部变量就好了
第四步,编译eXosip3.5.0:
1.用VS2005打开libeXosip2-3.5/platform/vsnet/eXosip.sln
2.将libosip2-3.5/include/目录下的osip2文件夹和osipparser2文件夹复制到libeXosip2-3.5/include/下
3.将openssl库的头文件目录加入到附加包含库中。工程名-->右击-->Referencese-->C/C++ 中附加包含目录 一栏中加入openssl中inc32目录的全路径。
4.在libeXosip2-3.5目录下新建Lib目录
5.将“第二步”中生成的libosip2-3.5/platform/vsnet/Release DLL/目录下的osip2.lib 文件和 osipparser2.lib文件到libeXosip2-3.5/Lib目录下
6.修改项目属性,在工程名-->右击-->Referencese-->Configration Properties-->Linker-->Input-->Additional Dependencies里面,新增Dnsapi.lib Iphlpapi.lib Ws2_32.lib osip2.lib osipparser2.lib ssleay32.lib libeay32.lib crypt32.lib库。
7.修改项目属性,工程名-->右击-->Referencese-->Configration Properties-->Linker-->General-->Additional Library Directories里,新增库目录,将上面我们新建的Lib目录的全路径填进去,再把openssl中out32dll目录的全路径也加进去。
8.修改项目的输出为.DLL,默认为.lib。方法是 把工程名-->右击-->Referencese-->Configration Properties-->Linker-->Output File里的扩展名改成.dll 或者工程名-->右击-->Referencese-->Configration Properties-->General-->Configration Types改为"Dynamic Library (.dll)"
9.编译Relase DLL
10.其生成的LIB/DLL 位于:libeXosip2-3.5/platform/vsnet/Release/下