📄 编译osip协议栈的方法.txt
字号:
假如你现在采用的是E盘(本人采用libosip2-2.0.6,VC6.0,Windows 2000):
1.在E盘上新建一个osip文件夹E:\osip;
2.把libosip2-x.x.x文件夹下的include文件夹整个拷到E盘的osip文件夹里;
3.新建VC工程,选Win32 Dynamic-Link Library,Project name:osipparser2,
Location:E:\OSIP\,然后选An empty DLL project,接着在 Tools\options\Directories\include files设置如下:
C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
E:\OSIP\INCLUDE
按如上设置即可。
注:以上Project\Setting按默认设置。
4.进到..\libosip2-x.x.x\src\osipparser2\
把里面的所有*.c和*.h文件拷到E:\osip\osipparser2\目录下,
即和*.dsw和*.dsp文件放一起
5.把..\libosip2-x.x.x\platform\windows\osipparser2.def
文件拷到E:\osip\osipparser2\文件夹下,此时关闭VC工程。
6.把..\libosip2-x.x.x\platform\windows\osipparser2.dsp文件以写字板方式打开
,全选并复制;同样方式打开E:\OSIP\osipparser2\osipparser2.dsp文件,全选、粘贴并存盘
,此时会弹出一提示对话筐,确定即可。
7.现在打开VC工程,编译,应该会出现警告或错误,这个是VC文件的路径问题
--------------------Configuration: osipparser2 - Win32 Debug--------------------
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\sdp_message.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\sdp_accessor.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_www_authenticate.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_via.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_uri.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_to.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_route.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_record_route.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_proxy_authorization.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_proxy_authenticate.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_port.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_parser_cfg.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_mime_version.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_message_to_str.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_message_parse.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_message.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_md5c.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_list.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_header.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_from.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_error_info.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_cseq.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_content_type.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_content_length.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_content_encoding.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_content_disposition.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_contact.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_call_info.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_call_id.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_body.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_authorization.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_allow.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_alert_info.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_accept_language.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_accept_encoding.c'
Build : warning : failed to (or don't know how to) build 'E:\src\osipparser2\osip_accept.c'
osipparser2.dll - 0 error(s), 36 warning(s)
解决办法:把FileView的Source File和Head File删掉
然后重新加载这些文件(包含*.def文件):
选VC工程的Project\Add to Project\Files
把你工程下的所有*.c、*.def和*.h文件导入你的工程
8.接着就是编译就是,结果如下:
--------------------Configuration: osipparser2 - Win32 Debug--------------------
Compiling...
osip_accept.c
osip_accept_encoding.c
osip_accept_language.c
osip_alert_info.c
osip_allow.c
osip_authorization.c
osip_body.c
osip_call_id.c
osip_call_info.c
osip_contact.c
osip_content_disposition.c
osip_content_encoding.c
osip_content_length.c
osip_content_type.c
osip_cseq.c
osip_error_info.c
osip_from.c
osip_header.c
osip_list.c
osip_md5c.c
osip_message.c
osip_message_parse.c
osip_message_to_str.c
E:\osip3\osipparser2\osip_message_to_str.c(876) : warning C4018: '<' : signed/unsigned mismatch
osip_mime_version.c
osip_parser_cfg.c
osip_port.c
osip_proxy_authenticate.c
osip_proxy_authorization.c
osip_record_route.c
osip_route.c
osip_to.c
osip_uri.c
osip_via.c
osip_www_authenticate.c
sdp_accessor.c
sdp_message.c
Linking...
Creating library .libs/osipparser2.lib and object .libs/osipparser2.exp
osipparser2.dll - 0 error(s), 1 warning(s)
由于本人刚学VC,可能存在对问题理解不够的问题,以上的方法仅供参考。
这里借此再次谢谢汇思论坛,论坛斑竹以及帮助过我的同仁!
(由于时间原因只给出osipparser2的编译方法,osip2的编译方法类推即可)
有问题可以和我联系:QQ 42585026
2005-6-2
sun
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -