编译 gSoap
没什么好说的, 下载 ./configure make make install
生成 onvif.h 文件
首先还是要把 \gsoap-2.8\gsoap\typemap.dat 这个文件拷贝到自定义的目录, 或在指令中指定绝对路径也行, 然后 生成 onvif.h 文件
wsdl2h -o onvif.h -c -s -t /home/justchen/source/gsoap-2.8/gsoap/typemap.dat http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl  http://www.onvif.org/onvif/ver10/events/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  http://www.onvif.org/ver10/pacs/accesscontrol.wsdl  http://www.onvif.org/ver10/pacs/doorcontrol.wsdl  http://www.onvif.org/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl  http://www.onvif.org/ver10/accessrules/wsdl/accessrules.wsdl  http://www.onvif.org/ver10/credential/wsdl/credential.wsdl  http://www.onvif.org/ver10/schedule/wsdl/schedule.wsdl
接下来将 gsoap-2.8/gsoap/import/wsa5.h 里面的第 277 行的 SOAP_ENV__Fault 改为SOAP_ENV__Fault_ex
然后运行soapcpp2 -c onvif.h -x -I /home/justchen/source/gsoap-2.8/gsoap/import -I /home/justchen/source/gsoap-2.8/gsoap
之后生成一堆文件.






