1:gsoap官网(http://gsoap2.sourceforge.net/)下载最新版gsoap(本次版本为gsoap_2.8.17)并解压。

     2:新建一个文件夹(OnvifFramework)

           将解压的gsoap_2.8.17文件拷贝至OnvifFramework目录下

           将gsoap_2.8.17\gsoap-2.8\gsoap 路径下的typemap.dat以及gsoap_2.8.17\gsoap-2.8\gsoap\bin\win32 路径下的wsdl2h.exe  soapcpp2.exe也拷贝至该目录下。

     3: Onvif官网(http://www.onvif.org/Documents/Specifications.aspx)页面里ONVIF WSDL and XML Schemas Specifications找到各wsdl(18个左右)并下载下来

           (右键另存为即可),放入GenerateSource文件夹中。

     4:生成onvif.h
           生成方式有在线生成和本地生成两种方式。由于网络的原因,在线生成很容易中断。故临时改用本地生成方式,在实际运行时发现,本地生成过程中也需要从网络上下载

           相关的依赖文件,并且对文件路径有如下要求: 

           OnvifFramework

                         ----level1

                              ----level2

                                   ----GenerateSource

                                         ----typemap.dat

                                         ----wsdl2h.exe

                                         ----soapcpp2.exe

                                         ----remotediscovery.wsdl  

                                         ----devicemgmt.wsdl

                                         ----analytics.wsdl

                                         ----analyticsdevice.wsdl 

                                         ----media.wsdl  

                                         ----deviceio.wsdl  

                                         ----display.wsdl  

                                         ----event.wsdl

                                         ----imaging.wsdl  

                                         ----recording.wsdl  

                                         ----replay.wsdl 

                                         ----search.wsdl  

                                         ----receiver.wsdl  

                                         ----ptz.wsdl

 

                                   ----ver10

                                          ----device

                                                 ----wsdl

                                                        ----devicemgmt.wsdl

                                          ----media

                                                ----wsdl

                                                      ----media.wsdl

                                         ----schema

                                               ----onvif.xsd

 

                       ----ver10

                             ----schema

                                    ----onvif.xsd

管理员权限打开CMD,切换至GenerateSource目录下,将如下指令贴到CMD窗口中回车运行即可生成onvif.h文件:
          wsdl2h -o onvif.h  -c  -s -t  ./typemap.dat  remotediscovery.wsdl  devicemgmt.wsdl analytics.wsdl  analyticsdevice.wsdl  media.wsdl  deviceio.wsdl  display.wsdl  event.wsdl imaging.wsdl  recording.wsdl  replay.wsdl search.wsdl  receiver.wsdl  ptz.wsdl

5:通过onvif.h生成源代码框架

            将如下指令贴到CMD窗口中回车运行即可:

            soapcpp2 -2  -c  onvif.h  -x -I  gsoap下的import文件夹路径 -I gsoap文件夹路径