Gsoap编译

来源:互联网 发布:it安全工程师 编辑:程序博客网 时间:2024/06/02 04:12

gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多。gSOAP支持大多数平台,包括嵌入式系统和小系统。
你首先要定义好c/s通讯的函数接口,通过这些函数接口gSOAP就可以生成server端和client端的框架。生成的客户端(服务端)内部API可以将接收到的xml反序列化成C/C++的数据结构,也可以将本地的C/C++的数据结构序列化成xml格式发送出去。而你只需要分别在server端和client端实现你定义的那些接口就行了。
gSOAP工具主要包括两个可执行文件:wsdl2h和soapcpp2。wsdl2h可以读取.wsdl格式文件并输出.h文件,而soapcpp2则可以读取.h格式文件(wsdl2h生成的或者包含用户自己定义的接口)生成server端和client端的框架。
gSOAP下载地址:https://sourceforge.net/projects/gsoap2/files/
笔者下载的版本为2.8.44,解压以后可以在gsoap/bin文件夹发现有 macosx 和 win32 两个平台的已经编译好的可以执行文件。没有linux平台的。gSOAP生成server端和client端的框架是可以平台使用的,所以如果你完全可以在windows平台上生成你需要的C/C++代码并将其拷贝到其他操作系统操作平台使用。
下面来生成linux平台的wsdl2h和soapcpp2可执行文件。
我的编译环境为ubuntu 16.04 64位。g++ 4.8.5 gcc 4.8.5
1. cd 到你解压出来的文件夹根目录。

test@test-virtual-machine:~/Downloads/gsoap-2.8$ pwd/home/test/Downloads/gsoap-2.8
  1. 因为我不想安装gsoap到系统内,只想要编译生成的可执行文件,所以我在将安装目录设置为一个非系统目录(例如我自己创建的文件夹gsoap/my_bin)。
~/Downloads/gsoap-2.8$ ./configure --prefix=gsoap/my_bin

–prefix 参数可以指定你的安装目录。
3.执行 make
错误1.

s/c$/h/` y.output soapcpp2_yacc.output -- yacc -d -v ../../ylwrap: line 176: yacc: command not foundMakefile:521: recipe for target 'soapcpp2_yacc.c' failed

编译出错 : yacc: 未找到命令 , 需要安装yacc

$sudo apt-get install bison

错误2.
/bin/bash ../../ylwrap soapcpp2_lex.l .c soapcpp2_lex.c -- /bin/bash /home/test/Downloads/gsoap-2.8/missing flex
updating lex.yysoapcpp2_lex.c

编译出错 : flex: 未找到命令 , 需要安装flex

sudo apt-get install flex

还可能安装openssl

sudo apt-get install openssl

还有openssl的库文件

sudo apt-get install libssl-dev

最后执行

sudo make install

安装成功。
这里写图片描述

安装到可执行文件到我指定的文件夹
这里写图片描述

参考文章链接:http://www.cnblogs.com/coveted/p/3492342.html

0 0
原创粉丝点击