Gsoap編譯


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.不能有中文路徑

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM