zoukankan      html  css  js  c++  java
  • 小白一步一个脚印,手把手,教你安装使用gsoap

    安装

    去官网拿到gsoap安装包。作者使用的gsoap_2.8.10.zip。

    unzip gsoap_2.8.10.zip --解压安装包。

    ./configure --检查安装环境。 如果失败(出现error的),根据错误提示,安装相关的包。如果安装了openssl,还提示找不到-lssl,用root安装yum install openssl-devel(如遇其它,参考这篇博客http://blog.csdn.net/learnhard/article/details/5154262

    make --编译。

    make install --安装。

    记得多看看README NOTE INSTALL这些文件,别因为懒就不看。

    安装成功后会出现打印如下提示

    +--------------------------------------------------------+
    | You now have successfully built and installed gsoap. |
    | |
    | You can link your programs with -lgsoap++ for |
    | C++ projects created with soapcpp2 and you can link |
    | with -lgsoap for C projects generated with soapcpp2 -c |
    | |
    | There are also corresponding libraries for SSL and |
    | zlib compression support (-lgsoapssl and lgsoapssl++) |
    | which require linking -lssl -lcrypto -lz |
    | |
    | Thanks for using gsoap. |
    | |
    | http://sourceforge.net/projects/gsoap2 |
    +--------------------------------------------------------+

    使用

    mkdir soap --新建一个目录soap。

    wget http://www.genivia.com/calc.wsdl --拿到测试用的wsdl文档,当然如果你有自己的文档更好,一样的。

    /usr/local/bin/wsdl2h -c -o calc.h calc.wsdl --用wsdl2h工具将wsdl文档编译成calc.h头文件。

    /usr/local/bin/soapcpp2 -Lc calc.h --将calc.h文件编译成为编程需要的多个文件,比如实现文件,xml样板等。

    编写main.c

    #include "soapH.h" 
    #include "calc.nsmap" 
    main() 
    { 
       struct soap *soap = soap_new(); 
       double result; 
       if (soap_call_ns__add(soap, 1.0, 2.0, &result) == SOAP_OK) 
          printf("The sum of 1.0 and 2.0 is %lg\n", result); 
       else
          soap_print_fault(soap, stderr); 
       soap_end(soap); 
       soap_free(soap); 
    }

    gcc main.c soapC.c soapClient.c $(安装包路径)/gsoap-2.8/gsoap/stdsoap2.c

    主要就是这个stdsoap2.c文件,如果编译的时候不包含它,那么会有很多函数找不到实现。

    己有能 勿自私 人所能 勿轻訾 jogger0703@gmail.com
  • 相关阅读:
    51 Nod 1035 最长的循环节 (此题还不是很懂,日后再看)
    51 Nod 1101 换零钱(动态规划好题)
    51 Nod 1101 换零钱(动态规划好题)
    51 Nod 1163 最高的奖励
    51 Nod1042 数字0到9的数量
    51 Nod 1629 B君的圆锥
    iterrows(), iteritems(), itertuples()对dataframe进行遍历
    pandas计数 value_counts()
    scikit_learn逻辑回归类库
    Python中的深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/jogger/p/2689276.html
Copyright © 2011-2022 走看看