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"即可