VS编译gSoap源码
说明:VS编译gSoap的源码的wsdl2h工程,使wsdl2h.exe支持访问https的wsdl文件。默认的gSoap的wsdl2h.exe不能访问https的wsdl文件。
第三方软件准备:
- Bison 直接官网下载安装包 官网http://www.gnu.org/software/bison/
- Flex 直接官网下载安装包 官网http://flex.sourceforge.net/
- OpenSsl, 官网下载源码,由vs编译器编译安装(网上方法很多,此处不讲解)
gSoap的wsdl2h.sln的编译:
-
首先打开wsdl2g.sln,目录:D:\gsoap-2.8\gsoap\VisualStudio2005\wsdl2h\wsdl2g.sln
-
修改工程属性:
在“预处理器中” 输入“WITH_OPENSSL”宏。 -
将“D:\gsoap-2.8\gsoap\plugin”目录下的 httpda.c、httpda.h、smdevp.c、smdevp.h、threads.c、threads.h拷贝到“D:\gsoap-2.8\gsoap\VisualStudio2005\wsdl2h\wsdl2h”目录下,并将此6个文件加入工程。使工程结构如图所示:
-
工程属性中,连接属性设置(此处要用到Openssl的库,请先完成Openssl库的编译和安装)如图:
点击确定,开始编译。如果编译中出现其它错误,耐心查找下原因。编译成功后,需拷贝Openssl的dll到wsdl2h.exe的运行目录中,如图所示:
用编译的wsdl2h.exe 来运行onvif的wsdl文件。:
wsdl2h -P -x -c -s -t ./typemap.dat -o onvif.h https://www.onvif.org/ver10/network/wsdl/remotediscovery.wsdl https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl https://www.onvif.org/ver10/media/wsdl/media.wsdl
编译好资源位置:https://download.youkuaiyun.com/download/u013125105/10970956