zoukankan      html  css  js  c++  java
  • Ubuntu 14.04 下安装gSOAP安装过程和问题解决

    soap下载地址为:http://www.cs.fsu.edu/~engelen/soap.html

    将下载的安装包解压,并拷贝到linux的操作目录,本人操作目录为: 
    $: /home/orange

    安装编译工具:

      $sudo apt-get install build-essential

      为了成功编译gSOAP,您需要安装GTK+的开发文件和GLib库(libraries)。

      $sudo apt-get install libgtk2.0-dev libglib2.0-dev


    以上面的目录为例:
    首先进入目录cd /home/orange/gsoap-2.8/
    然后,配置编译环境:
    命令:$:sudo ./configure
    然后,编译连接
    命令:$:sudo make
    最后,安装gSOAP
    命令:$:sudo make install

    遇到的问题及解决方案如下:

    遇到的问题1:
    make[4]: 正在进入目录 `/home/titus/OpenComponent/gsoap-2.8/gsoap/src'
    /bin/bash http://www.cnblogs.com/ylwrap soapcpp2_yacc.y y.tab.c soapcpp2_yacc.c y.tab.h soapcpp2_yacc.h y.output soapcpp2_yacc.output -- yacc  -d -v
    http://www.cnblogs.com/ylwrap: line 111: yacc:找不到命令
    make[4]: *** [soapcpp2_yacc.c] 错误 1

    原因:
    没有安装:yacc(Yet Another Compiler Compiler),是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)。

    解决方案:
    sudo apt-get install flex bison


    遇到的问题2:
    http://www.cnblogs.com/gsoap/stdsoap2.h:695: fatal error: openssl/bio.h: 没有那个文件或目录
    compilation terminated.
    make[5]: *** [wsdl2h] 错误 1

    原因:是缺少openssl的相应的头文件

    解决方案:
    sudo apt-get install openssl
    为了安装OpenSSL通常的库文件,首先使用以下命令来确定在Ubuntu系统中可获得的库文件的应用版本:
    sudo apt-cache search libssl | grep SSL 
    sudo apt-get install libssl-dev

    遇到的问题3:

    ‘soap_rand’未定义引用

    解决方案:

    修改gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.h

    //#if defined(WITH_OPENSSL)
    # define soap_random soap_rand()
    SOAP_FMAC1 int SOAP_FMAC2 soap_rand(void);
    /*
    #elif defined(HAVE_RANDOM)
    # define soap_random (int)random()
    #else
    # define soap_random rand()
    #endif
    */

    修改gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp

    //#ifdef WITH_OPENSSL
    //#ifndef PALM_2
    SOAP_FMAC1
    int
    SOAP_FMAC2
    soap_rand()
    { unsigned char buf[4];
    if (!soap_ssl_init_done)
    soap_ssl_init();
    RAND_pseudo_bytes(buf, 4);
    return *(int*)buf;
    }
    //#endif
    //#endif

  • 相关阅读:
    带有数字的表达式
    不使用data-ng-app指令的表达式
    简单的表达式
    第一个AngularJS控制器
    第一个AngularJS指令
    第一个AngularJS表达式实例
    HTML5<fieldset>标签
    AngularJS 包含
    [python][odlboy]设置字符串打印的颜色
    [python][oldboy]关键字参数和位置参数,默认参数,可变长参数(无名,有名)
  • 原文地址:https://www.cnblogs.com/onetaste/p/3978763.html
Copyright © 2011-2022 走看看