onvif框架生成

一、下载gsoap
二、进入gsoap-2.8\gsoap\bin\win32, 并把gsoap-2.8\gsoap\typemap.dat拷贝到gsoap-2.8\gsoap\bin\win32下
1)由onvif官方的wsdl文件生成onvif.h头文件

wsdl2h -c -s -t typemap.dat -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/events/wsdl/event.wsdl http://www.onvif.org/onvif/ver10/display.wsdl http://www.onvif.org/onvif/ver10/deviceio.wsdl http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl http://www.onvif.org/onvif/ver20/media/wsdl/media.wsdl http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl http://www.onvif.org/onvif/ver10/receiver.wsdl http://www.onvif.org/onvif/ver10/recording.wsdl http://www.onvif.org/onvif/ver10/search.wsdl http://www.onvif.org/onvif/ver10/replay.wsdl http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl http://www.onvif.org/onvif/ver10/analyticsdevice.wsdl http://www.onvif.org/ver10/actionengine.wsdl http://www.onvif.org/ver10/pacs/accesscontrol.wsdl http://www.onvif.org/ver10/pacs/doorcontrol.wsdl http://www.onvif.org/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl http://www.onvif.org/ver10/accessrules/wsdl/accessrules.wsdl http://www.onvif.org/ver10/credential/wsdl/credential.wsdl http://www.onvif.org/ver10/schedule/wsdl/schedule.wsdl http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl

-c: 生成c代码
-s: 不用STL

注:
a.执行此命令电脑要联网
b.wsdl的链接在onvif官网取得

2)soapcpp2.exe把onvif.h生成对应框架代码

soapcpp2.exe -2 -c onvif.h -I..\gsoap-2.8\gsoap\import -I..\gsoap-2.8\

-2: 使用soap1.2版本
-c: 生成c代码
注:
a.路径为实际的路径,根据自己环境进行具体设置

3)把所有生成的xml文件新建一个文件夹保存,有一定的参考意义
4)因为所有的nsmap文件都是相同的,故保留一个nsmap文件,其他的全部删除
5)把soapClientLib.c soapServerLib.c两个文件(无用)删除
6)做服务器的话,把soapClient.c也可以删除
7)把gsoap-2.8\gsoap下的stdsoap2.c stdsoap2.h两个文件也拷贝过来
8)这样的话就可以编译过了(只生成.o文件不链接)
9)实际要用到的文件

2014/11/08  14:26           509,842 stdsoap2.c
2016/06/30  17:14         1,149,673 soapStub.h
2014/11/08  14:26            98,504 stdsoap2.h
2016/06/30  17:14         1,002,438 soapServer.c
2016/06/30  17:14        14,569,441 soapC.c
2016/06/30  17:14         6,340,667 soapH.h

你可能感兴趣的:(嵌入式开发)