打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
gsoap生成完整的onvif骨架代码

之前只用单个remotediscovery.wsdl 文件做discovery的时候 ,用onvif测试工具测试正常,自动搜索和点对点都OK,但是生成整个onvif代码的时候发送probe发现不了设备 ,基于这个问题纠结了好久 ,用wireshark抓包也没看出个所以然来 ,后来经高人指点 ,对比单个remotediscovery.wsdl 文件生成的头文件和多个.wsdl文件生成的头文件发现生成整个框架的头文件里面少了这句 #import "soap12.h"  ,加上这句后再生成骨架代码之后就解决了

这里在叙述下生成整个骨架代码的过程 

首先生成头文件 :wsdl2h -o onvif.h -c -s -t .\typemap.dat http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/event/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 http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl http://www.onvif.org/onvif/ver10/analyticsdevice.wsdl  http://www.onvif.org/onvif/ver10/schema/onvif.xsd  http://www.onvif.org/ver10/actionengine.wsdl  typemap.dat根据你自己文件路径填写,还有WINDOWS下文件目录是“\”linux下文件目录是“/”, 可能不能一次成功 ,我试了很多次 ,提示经常出现http的握手不成功 ,还有其他的提错误,这个是网络问题 ,多试几次,不需要改typemap.dat文件 能成功的

生成骨架代码: soapcpp2 -c onvif.h -x -I /root/onvif/gsoap-2.8/gsoap/import -I /root/onvif/gsoap-2.8/gsoap/ 这些当然要根据你的文件路径,生成骨架代码后会报错 :1 semantic error  这个没有影响  ,然后拷贝gsoap/cunstom/ 下的duration.c 和duration.h到你的工程 ,编译可能出现重复定义函数的错误,注释多余的,编译就能通过了 ,

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
onvif开发总结
gSOAP搭建ONVIF(C++)客户端开发框架--windows&ubuntu
ONVIF协议网络摄像机
用gsoap实现面向Java客户端的WebService
用gSOAP调用Web Services
gSOAP学习笔记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服