2014-02-22 21:45:46
最近要增加onvif的客户端,通过一段时间的摸索和网上借鉴,几经周转,终于有了点眉目。现在把期间的过程记录下来。
本人刚开始使用的是最新的2.8.17,最终使用的是2.8.10
最好看有没有以下几个软件啊
sudo apt-get install bison
sudo apt-get install flex
sudo apt-cache search libssl | grep SSL
sudo apt-get install libssl-dev
sudo apt-get install openssl
sudo apt-get install automake1.10
xx@debian:~/onvif/gsoap-2.8$ ./configure
xx@debian:~/onvif/gsoap-2.8$ make
xx@debian:~/onvif/gsoap-2.8$ sudo make install
本地生成onvif.h
2.8.17中的typemap.dat是已经增加了支持onvif的,可以直接复制过来。
1 |
wsdl2h -o onvif.h -c -s -t ./typemap.dat devicemgmt.wsdl media.wsdl event.wsdl display.wsdl deviceio.wsdl imaging.wsdl ptz.wsdl receiver.wsdl recording.wsdl search.wsdl remotediscovery.wsdl replay.wsdl analytics.wsdl analyticsdevice.wsdl actionengine.wsdl accesscontrol.wsdl doorcontrol.wsdl advancedsecurity.wsdl |
生成soap框架
1 |
soapcpp2 -2 -c onvif.h -x -I /home/zlz/gsoap-2.8/gsoap/import -I /home/zlz/gsoap-2.8/gsoap/ |
注意事项
SOAP_ENV__Fault重复定义,屏蔽掉gsoap-2.8/gsoap/import/wsa5.h 中SOAP_ENV__Fault的定义即可。
undefined reference to `soap_in_xsd__duration‘,复制gsoap-2.8/gsoap/custom下的duration.h和duration.c。
原文:http://www.cnblogs.com/freezlz/p/3561320.html