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
  • 2
  1. 因为我不想安装gsoap到系统内,只想要编译生成的可执行文件,所以我在将安装目录设置为一个非系统目录(例如我自己创建的文件夹gsoap/my_bin)。
~/Downloads/gsoap-2.8$ ./configure --prefix=gsoap/my_bin
  • 1

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

s/c$/h/` y.output soapcpp2_yacc.output -- yacc -d -v
../../ylwrap: line 176: yacc: command not found
Makefile:521: recipe for target 'soapcpp2_yacc.c' failed
  • 1
  • 2
  • 3

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

$sudo apt-get install bison
  • 1

错误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
  • 1

还可能安装openssl

sudo apt-get install openssl
  • 1

还有openssl的库文件

sudo apt-get install libssl-dev
  • 1

最后执行

sudo make install
  • 1

安装成功。 

安装到可执行文件到我指定的文件夹 

转自:https://blog.csdn.net/u010293286/article/details/70182962

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

linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录

过程记录 :

1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip
 
 

2.进入解压后的目录gsoap-2.8

 

3.自动配置编译环境:  $./configure –prefix=$(pwd)/_install 

 

配置失败

  • 原因:error: C++ compiler cannot create executables
  • 解决办法:You need to install c++ on your computer. even if you installed gcc that doesn’t automatically install g++. Try to run one of the following commands that fit your Linux distribution best :)
  • yum install gcc-c++ or apt-get install gcc-c++ . if apt-get doesn’t like the command try :apt-get install g++

安装c++编译器 : $sudo apt-get install g++

重新执行配置命令,成功!

4.编译安装 : $sudo make

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

yacc和lex在ubuntu使用flex和bison代替,此处安装bison就是安装yacc
执行命令 : $sudo apt-get install bison

安装完成后继续编译,结果出错:

很明显,需要安装flex : sudo apt-get install flex

继续编译,继续出错 :

原因:缺少openssl,安装openssl : suod apt-get install openssl

网上还说要安装openssl的库文件 : sudo apt-get install libssl-dev

出错

sudo apt-get install libgtk2.0-dev libglib2.0-dev
编译成功!

5.安装  sudo make install

 
总结 : 
          1.安装编译工具 : $sudo apt-get install g++ 或者 $sudo apt-get install build-essential
          2.可能需要安装GTK+和Glib库 : $sudo apt-get install libgtk2.0-dev libglib2.0-dev
          3.安装flex和bison代替lex和yacc :  $sudo apt-get install flex bison
          4.安装openssl      :   $sudo apt-get install openssl
                                        $sudo apt-get install libssl-dev
          5.不能有中文路径
 
 

Gsoap编译的更多相关文章

  1. [转贴]Windows下gSoap交叉编译环境的搭建

    本人直接就用过gSoap,它是用以C/C++写webservice的利器     交叉编译的时候,有两个很关键的程序:         soapcpp2.exe         wsdl2h.exe ...

  2. 使用GSoap开发WebService客户端与服务端

    Gsoap 编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现, 从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多. 用gsoap开发web service的大致思路 我 ...

  3. onvif规范的实现:使用gSOAP创建SOAP调用实例

    预备知识 ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供.ONVIF规范涵盖了完全的XML及WSDL的定义.每一个支持ONVIF规范的终端设备均须提供与功能相应的 ...

  4. Linux下gsoap实现webservice功能

    蓝字为关键字,等号=后面为关键字值. 一.介绍 我们用的webservice是根据gsoap编译工具来实现,gSOAP的编译器能够自动的将用户定义的本地化的C或C++数据类型转变为符合XML语法的数据 ...

  5. gSOAP 在windows下的安装与使用(mingw32)

    gSOAP是一个绑定SOAP/XML到C/C++语言的工具,使用它可以简单快速地开发出SOAP/XML的服务器端和客户端.由于 gSOAP具 有相当不错的兼容性,通过gSOAP,我们就可以调用由Jav ...

  6. CPP-网络/通信:gsoap 的教程和使用

    1.1.1     gSOAP 1.1.1 .1      简介 gSOAP 编译工具提供了一个 SOAP/XML 关于 C/C++ 语言的实现,从而让 C/C++ 语言研发 web 服务或客户端程式 ...

  7. gsoap开发webservice

    gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多.绝大多数的C++web服务工具包提供一组API函数类库来处 ...

  8. VS2010使用c++、gSOAP创建WebService 图文教程

    VS2010使用c++.gSOAP创建的WebService 图文教程 环境 操作系统:Windows 7gsoap版本:2.8.32C++编译器/开发环境:Visual Studio 2010 gS ...

  9. C++客户端访问WebService VS2008

    VS2008及之后的版本已经不支持使用C++开发WEBService服务了,如果要在VS上开发WEBService,需要使用C#开发语言. 一.gSOAP简介 gSOAP编译工具提供了一个基于SOAP ...

随机推荐

  1. BZOJ.1022.[SHOI2008]小约翰的游戏John(博弈论 Anti-Nim)

    题目链接 Anti-Nim游戏: 先手必胜当且仅当: 1.所有堆的石子数为1,且异或和为0 2.至少有一堆石子数>1,且异或和不为0 简要证明: 对于1:若异或和为1,则有奇数堆:异或和为0,则 ...

  2. curl解压gzip页面gzcompress内容

    $headers = array( //"Content-type:application/json;charset='utf-8'", "Cache-Control:n ...

  3. 张量系列(tensor02)

    张量的两种运算 1. 张量的乘(Tensor product) tensorproduct() 2. 张量的缩并 tensorcontraction() The matrix trace is equ ...

  4. [HNOI2011]Problem B

    Description: 给定\(a\),\(b\),\(c\),\(d\),\(k\) 求: \(\sum_{i=a}^{b} \sum_{j=c}^{d} gcd(i,j)==k\) \(T\)组 ...

  5. 简单的三道shell例题

    problem: 1. 输入一个ip列表文件,文件每行为以tab键分隔的两列,分别为一个ip段的起始ip和结束ip,ip均为点分形式.要求将该文件中各ip段包含的每一个有效ip以非点分形式输出到一个文 ...

  6. C# 2015关键字

    关键字是对编译器具有特殊意义的预定义保留标识符. 它们不能在程序中用作标识符,除非它们有一个 @ 前缀. 例如,@if 是有效的标识符,但if 不是,因为 if 是关键字. 本主题中的第一个表列出的关 ...

  7. Zookeeper单机伪集群

    Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是 ...

  8. MSSQL存储过程

    存储过程的种类:       1.系统存储过程.        以sp_开头      2.扩展存储过程.        以xp_开头      3.用户定义存储过程. --重新编译存储过程 exec ...

  9. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 解决办法

    遇到这个问题,是因为某个服务正在使用80端口; 解决步骤: 1.使用netstat命令查看80端口被哪个服务占用了 netstat -ant | grep 80 1 2.关闭80端口 /etc/ini ...

  10. Spring4学习笔记二:Bean配置与注入相关

    一:Bean的配置形式 基于XML配置:在src目录下创建 applicationContext.xml  文件,在其中进行配置. 基于注解配置:在创建bean类时,通过注解来注入内容.(这个不好,因 ...