热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Linux/Unix上安装gSoap

这篇文章采用中英文混合了,不再对官网英文做翻译了,中间加入了我用中文写的自己补充的内容。MakesurethatyouhaveFlexandBison

这篇文章采用中英文混合了,不再对官网英文做翻译了,中间加入了我用中文写的自己补充的内容。

Make sure that you have Flex and Bison installed to build the soapccp2 tool:

sudo apt-get install flex bison

If you run into trouble installing Flex or Bison, then see the next section.
You may want to install OpenSSL to enable HTTPS for gSOAP clients and servers:

sudo apt-get install libssl-dev

接下来,想进行下面的操作,需要把下载的软件包解压到 home 文件夹,然后进入此文件夹。在我的机器上,我在 home 文件夹下执行

cd gsoap-2.8

这还不行,需要把文件 configure 属性设成可执行文件,不然的话后面的安装无法进行。命令如下:

sudo chmod 777 configure

接下来,按照官网介绍继续执行就行了。如此看来,官网的安装步骤说明,写的也是马马虎虎的,新手很难理解。

If you run into trouble installing OpenSSL, then see further below how to disable OpenSSL support in gSOAP.
Install the gSOAP software on Unix/Linux systems as follows:

下面的命令一句一句来,不要全部复制粘贴到 linux 命令终端窗口里去。另外,make 命令需要执行一小会,要耐心等待完成。软件包安装过程总起来还是很顺利的。

./configure
make
sudo make install

For the last step we use admin (root) permissions using sudo. To install the executables in a local folder, say in $HOME/bin without requiring root access, use:

./configure
make
sudo make install exec_prefix=$HOME

The ./configure command takes the following configuration options:

  • --enable-samples also builds the examples
  • --enable-ipv6 builds the library with IPv6 support (with compiler option -DWITH_IPV6)
  • --enable-ipv6-v6only builds the library with IPv6 support without remapping IPv4 to IPv6 (with compiler option -DWITH_IPV6_V6ONLY)
  • --disable-ssl removes all dependences on OpenSSL from the tools and libraries
  • --enable-gnutls replaces the dependence on OpenSSL by GNU TLS (with compiler option -DWITH_GNUTLS)
  • --enable-debug builds the software (with compiler option -DDEBUG) to produce audit logs (slow, not recommended for production)
  • --disable-namespaces removes global namespaces table linkage requirement (recommended for experts only)
  • --disable-c-locale removes the C locale and locale_t type that is internally used to override the local locale (the C locale is needed for proper use of decimal point in float values)
  • --enable-xlocale forces the inclusion of xlocale.h to define the locale_t type, which is useful if the build fails due to an undefined locale_t type
  • --with-openssl=DIR specifies the OpenSSL installation directory
  • --with-zlib=DIR specifies the Zlib installation directory
    After successful configuration and completion of the build steps, the following two tools are produced:
  • gsoap/bin/wsdl2h translator of WSDL/XSD to services and XML data bindings (interface tool)
  • gsoap/bin/soapcpp2 code generator for services and XML data bindings (implementation tool)
    The following libraries are produced depending on the configuration options:
  • gsoap/libgsoap++.a the C++ runtime engine (plain, no HTTPS)
  • gsoap/libgsoapssl++.a the C++ runtime engine with DOM support, COOKIEs, zlib, and SSL
  • gsoap/libgsoap.a the C runtime engine (plain, no HTTPS)
  • gsoap/libgsoapssl.a the C runtime engine with DOM support, COOKIEs, zlib, and SSL
    If you got these files, you are now ready to use gSOAP.
    If the above fails, then please verify that you have:
  • Automake tools installed (make and GNU m4)
  • Bison installed from www.gnu.org/software/bison or Yacc
  • Flex installed from GitHub
  • OpenSSL from www.openssl.org or GNUTLS from www.gnu.org/software/gnutls or you must disable SSL with ./configure --disable-ssl, see below
  • Optionally Zlib to support compression from www.zlib.net.
    To build the tools and libraries without SSL/TLS (i.e. removing HTTPS support and WS-Security support from wsdl2h and the libraries), rerun:

./configure --disable-ssl
make
sudo make install

For the last step use admin (root) permissions (e.g. using sudo) or use exec_prefix to install locally (see above).
To pass compile-time flags to make, such as -DWITH_NO_C_LOCALE:

make CFLAGS="-DWITH_NO_C_LOCALE" CXXFLAG="-DWITH_NO_C_LOCALE"

where CFLAGS applies to compiling C applications and CXXFLAGS applies to compiling C++ applications.
If you are having trouble with automake, Bison, or Flex then see the additional instructions below.

我检查了一下,发现可执行的命令文件安装到了目录 /usr/local/bin,其中有两个很关键的命令文件
gSoap开发包的下载地址http://sourceforge.net/projects/gsoap2,在bin目录下提供了两个工具:

1:wsdl2h:利用WSDL和XML schemas生成包含WS属性和操作的C++风格gSoap头文件。

2:soapcpp2:编译头文件并生成xml等文件。其中,soapH.h and soapC.cpp包含了数据类型的描述,soapClient.cpp给客户端使用,soapServer.cpp给服务端使用。

通过官方给出的介绍可知,wsdl2h用作wsdl和.h文件的转换。soapcpp2用头文件生成客户端/服务端等开发需要的h和cpp文件。下面是官方给出的一个例子:


参考:https://www.genivia.com/downloads.html#unix


推荐阅读
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • PHP 5.4.8 编译安装指南
    本文详细介绍了如何在Linux环境下编译安装PHP 5.4.8,并配置为FastCGI模式运行。包括所需依赖包的安装、源代码下载、编译配置及启动服务等步骤。 ... [详细]
  • Cadence SPB 16.5 安装指南与注意事项
    本文提供了详细的 Cadence SPB 16.5 安装步骤,包括环境配置、安装过程中的关键步骤以及常见问题的解决方案。适合初次安装或遇到问题的技术人员参考。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • linux网络子系统分析(二)—— 协议栈分层框架的建立
    目录一、综述二、INET的初始化2.1INET接口注册2.2抽象实体的建立2.3代码细节分析2.3.1socket参数三、其他协议3.1PF_PACKET3.2P ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 本文探讨了在 JavaFX 应用程序中使用 TableView 组件时遇到的滚动条问题,特别是当表格数据变化时,水平滚动条无法自动复位至初始位置的情况。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
author-avatar
手机用户2502872401
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有