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文件夹路径

onvif 框架代码生成的更多相关文章

  1. 使用gSOAP工具生成onvif框架代码

    <工具产生背景>          由于SOAP是一种基于xml的文件,手动编写SOAP文件太机械耗时,在这种背景下产生了gSAOP 这个工具,用于生成各种类型的代码,目前支持C/C++, ...

  2. 自定义Visual Studio.net Extensions 开发符合ABP vnext框架代码生成插件[附源码]

    介绍 我很早之前一直在做mvc5 scaffolder的开发功能做的已经非常完善,使用代码对mvc5的项目开发效率确实能成倍的提高,就算是刚进团队的新成员也能很快上手,如果你感兴趣 可以参考 http ...

  3. 数据库逆向框架代码生成工具:MyBatis Generator的使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

  4. ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.5

    摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)[ECG]是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO.ADO.N ...

  5. 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码

    我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...

  6. 代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能

    在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常 ...

  7. 转:ORM框架

    转自 程序员成长之路:http://blog.csdn.net/zxc22436/article/details/6875220 对象关系映射(ORM)提供了概念性的.易于理解的模型化数据的方法.OR ...

  8. ORM 框架简介

    对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应 ...

  9. ONVIF学习-ONVIF开发框架搭建(C++)

    第一步.下载gsoap 从gsoap官网(http://www.genivia.com/products.html#notice)下载最新版gsoap(博主用的是gsoap_2.8.45).gsoap ...

随机推荐

  1. 索引优化原则及Oracle中索引总结

    索引建立原则 确定针对该表的操作是大量的查询操作还是大量的增删改操作. 尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引. where语句中不得不对查 ...

  2. mvc控制器

    控制器 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.We ...

  3. node-express-1

    安装: express v4.0以后的安装: npm install express-generator -g 建立项目 express -t ejs blog 安装依赖 cd blog && ...

  4. 根据不同访问设备跳转到PC页面或手机页面

    目前很多网站都是采用了响应式自适应页面的设计了,根据访问设备的不同,显示不同的内容.但是还是会有一些节奏比较慢的网站,还是PC页面和手机PAD页面不同的访问域名.正好我这里有个需要,同一个域名要根据不 ...

  5. java类的理解和相关问题

    ---java抽象类 当我们定义的对象无法抽象或者不适合抽象为一个具体的类的时候 我们通常定义其为一个抽象类 like 衣服 (多种衣服) 手机 (多种手机) ---接口和抽象类的异同 对于概念上来说 ...

  6. python 生成器(generator)的生成方式

    generator包括生成器和带yield的generator函数. 写了一个生成杨辉三角的小例子: # -*- coding:utf-8 -*- def triangles(): l = [1] w ...

  7. Ubuntu17.04 安装搜狗中文输入法

    http://blog.csdn.net/ydyang1126/article/details/76223656

  8. pgmpy安装

    1.anaconda安装,可能在cmd中输入conda会报错,是因为在安装的时候没有配置好环境变量,在安装的时候有一个框框没选(当时是not recommand), 解决办法:需要在系统环境变量中添加 ...

  9. 本地pip 源搭建起来

    pip install pip2pi pip2tgz target_dir -r requirement.txt 下载想要的本地的py包  /usr/local/python3/bin/dir2pi ...

  10. webservice接口,用Soapui

    webservice接口怎么测试呢,他不需要你在拼报文了,会给一个webservice的地址,或者wsdl文件,直接在soapui导入,就可以看到这个webservice里面的所有接口,也有报文,直接 ...