window下生成onvif代码

Windows下生成onvif代码

一、准备工作

1.1、gsoap下载

gsoap下载1
gsoap下载2

1.2、onvif需要的wsdl文件以及.xsd文件下载

主要文件下载地址:wsdl下载右键另存为就能保存到本地
修改wsdl中的schemaLocation的路径为本地地址
window下生成onvif代码_第1张图片

二、代码生成(离线)

2.1、新建一个目录用于存放生成文件,将wsdl2h.exe、soapcpp2.exe(exe位于解压目录gsoap-2.8\gsoap\bin\win32目录下)、typemap.dat(gsozp目录下)拷贝到该目录
2.2、生成onvif.h目录

wsdl2h -o onvif.h -c -s -t ./typemap.dat devicemgmt.wsdl media.wsdl event.wsdl display.wsdl deviceio.wsdl imaging.wsdl ptz.wsdl receiver.wsdl recording.wsdl search.wsdl remotediscovery.wsdl replay.wsdl analytics.wsdl analyticsdevice.wsdl actionengine.wsdl accesscontrol.wsdl doorcontrol.wsdl 
wsdl2h -help查看对应的帮助信息

window下生成onvif代码_第2张图片
一堆的wsdl,报错了就根据相应的文件,改对应的文件位置,如果提示缺少wsdl文件且在官网未找到,则根据typemap.dat在对应目录下载

PS:经过一番修改,onvif.h已经生成
2.3、修改onvif文件

#import "wsse.h"用于身份验证

2.4、生成源文件

soapcpp2.exe -2 -x -Iimport -Icustom onvif.h
soapcpp2.exe -help 查看对应的帮助信息

window下生成onvif代码_第3张图片

三、在线生成(受限网络以及网站)

wsdl2h -t ../gsoap/gsoap-2.8.17/gsoap/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/ver10/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/network/wsdl/remotediscovery.wsdl http://www.onvif.org/onvif/ver10/replay.wsdl

源文件

soapcpp2 -2 -x  -d ./onvifgen/ -I ../gsoap/import/ -I ../gsoap/  onvif.h


 - [1] 代码下载

你可能感兴趣的:(C++)