美文网首页
ONVIF->Mac下gSOAP的使用

ONVIF->Mac下gSOAP的使用

作者: 哆啦爱懵 | 来源:发表于2016-04-10 08:19 被阅读562次

    Mac系统下的使用->

    安装过程可能会warning 提示需要安装openSSL,openSSL的安装将在下篇文章介绍。

    1.下载gSOAP,这里使用的版本是2.8.14

    2.解压后,终端进入目录下的gsoap-2.8

    3.安装步骤如下:

    ./configure

    make

    make install

    安装完成,接下来就是生成ONVIF开发环境框架了。这里是使用的在线生成方式,需要保证网络连接良好

    框架生成

    1.首先生成头文件

    1):新建一个文件夹,用来放新生成的文件,例onvif_new

    2):将soap目录下得typemap.dat文件拷贝到onvif_new目录下

    3):终端进入onvif_new,执行以下命令

    ~onvif_new$: 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/media/wsdl/media.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/receiver.wsdl

    http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.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/ver10/actionengine.wsdl

    http://www.onvif.org/ver10/pacs/accesscontrol.wsdl

    http://www.onvif.org/ver10/pacs/doorcontrol.wsdl

    以上地址来自onvif官网,可以自己核对官网查看

    每个网址之间用空格分开,执行完成即可生成头文件onvif.h

    2.生成源文件

    命令为:

    onvif_new $: soapcpp2 -c onvif.h -x -I import路径 -I gsoap路径

    -c表示生成c代码,否则就是c++代码

    生成过程中会有错误如下:

    wsa5.h(288): **ERROR**: remote method name clash: struct/class 'SOAP_ENV__Fault' already declared at line 274

    重复定义导致,打开import目录下wsa5.h 将277行int SOAP_ENV_Fault修改为int SOAP_ENV_Fault_some,再生成就可以了。

    成功就可以看到生成的源文件和不同功能对应的命名空间,命名空间后缀为nsmap,内容一样,只需保留一个修改名字为wsdd.h

    删除soapClientLib.c和soapServerLib.c文件

    将soap目录下的stdsoap2.h和stdsoap2.c文件以及custom目录下的duration.c文件都拷贝到当前目录下,至此Onvif的开发环境框架完成,客户端开发使用soapClient.c文件,服务端开发使用soapServer.c

    #import "soapH.h"即可

    相关文章

      网友评论

          本文标题:ONVIF->Mac下gSOAP的使用

          本文链接:https://www.haomeiwen.com/subject/ssublttx.html