linux下编译onvif框架,Onvif第六课 Linux编译gsoap

知识准备

gSOAP是一个绑定SOAP/XML到C/C++语言的工具,使用它可以简单快速地开发出SOAP/XML的服务器端和客户端。由于 gSOAP具 有相当不错的兼容性,通过gSOAP,我们就可以调用由Java, .Net, Delhpi, PHP等语言开发的SOAP服务,或者向它们提供SOAP服务。gSOAP的主页是:http://sourceforge.net/projects/gsoap2

下载解压后,可以在gsoap\bin\win32里 找到wsdl2h.exe和soapcpp2.exe(另外还有linux和mac版本)。

wsdl2h.exe的作用是根据WSDL生成C/C++风格的头 文件

soapcpp2.exe的作用是根据头文件自动生成调用远程 SOAP服务的客户端代码(称为存根:Stub)和提供SOAP服务的框架代码(称为框架:Skeleton),另外它也能从头文件生成WSDL文件。

gsoap\stdsoap2.cpp则是gSOAP的核心代码,要使用 gSOAP只要在项目里包含这个文件以及由soapcpp2.exe生成的代码即可。另外还有个stdsoap2.c,内容与stdsoap2.cpp一 模一样,用于纯C项目。

将gsoap-2.8压缩包上传到服务器,解压到/opt/gsoap-2.8目录,进入目录,执行如下的命令编译出wsdl2h,soapcpp2可执行程序

编译指令

./configure --prefix=/opt/gsoap(你自己的选择的安装路径)

sudo make

make install

cd /opt/gsoap/bin

这个之后,我们需要将/opt/gsoap-2.8/gsoap/typemap.dat,以及同一级目录下的文件夹import ,custom, plugin拷贝到/opt/gsoap/bin目录下

在当前目录存在wsdl2h,soapcpp2可执行程序,通过如下两个指令生成代码

[root@localhost test]# ./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/deviceio.wsdl http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl

生成文件onvif.h

[root@localhost test]# ./soapcpp2 -c onvif.h -x  -L -I./custom -I./plugin -I./import

最终的目录如下:

[root@localhost test]# ls

custom                 import              plugin                        soapClient.c  soapServer.c  wsdd.nsmap

DeviceBinding.nsmap    MediaBinding.nsmap  RemoteDiscoveryBinding.nsmap  soapcpp2      soapStub.h    wsdl2h

DeviceIOBinding.nsmap  onvif.h             soapC.c                       soapH.h       typemap.dat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值