ONVIF->Mac下gSOAP的使用

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的使用)