onvif开发框架搭建C++版

1. 下载所有wsdl与xsd

在onvif官网:https://www.onvif.org/profiles/specifications/
下载所有wsdl与xsd(右键-将链接另存为即可)

2. 下载gsoap

https://sourceforge.net/projects/gsoap2/files/latest/download
下载的开源gsoap 已经编译好的,不支持 SSL/TLS

3.创建生成框架目录

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.生成onvif.h

gsoap-2.8/gsoap/中的/import、/plugin 、stdsoap2.h、 stdsoap2.cpp、 typemap.dat、 /bin/win64/soapcpp2.exe、 /bin/win64/wsdl2h.exe复制到到GenerateSource/路径下,
在控制台中输入命令
.\wsdl2h.exe -x -o onvif.h -c++ -s -t ./typemap.dat accesscontrol.wsdl accessrules.wsdl actionengine.wsdl advancedsecurity.wsdl analytics.wsdl authenticationbehavior.wsdl credential.wsdl deviceio.wsdl devicemgmt.wsdl display.wsdl doorcontrol.wsdl event.wsdl imaging.wsdl media.wsdl media2.wsdl provisioning.wsdl ptz.wsdl receiver.wsdl recording.wsdl replay.wsdl schedule.wsdl search.wsdl thermal.wsdl uplink.wsdl

去掉部分 .wsdl文件, 只生成框架部分功能命令
.\wsdl2h.exe -x -o onvif.h -c++ -s -t ./typemap.dat remotediscovery.wsdl devicemgmt.wsdl event.wsdl media.wsdl media2.wsdl ptz.wsdl recording.wsdl

在onvif.h 文件中#import位置添加 #import "wsse.h"

5.生成框架代码

.\soapcpp2.exe -j onvif.h -x -L -C -c++ -i -I./import -I./plugin
执行报错

wsa5.h(279): *WARNING*: Duplicate declaration of 'SOAP_ENV__Fault' (already declared at line 267)

wsa5.h(289): **ERROR**: service operation name clash: struct/class 'SOAP_ENV__Fault' already declared at wsa.h:277

解决报错,打开文件import/ wsa5.h
将277行int SOAP_ENV__Fault修改为int SOAP_ENV__Fault_Ex

执行命令成功后,在目录下会生成 .cpp .h .nsmap文件,其中各个.nsmap的文件内容是一样的。

代码中有用到.nsmap,可将文件名改为xxx.h作为头文件,也可以不该直接#include "xxx.nsmap"

拷贝文件组成开发框架
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值