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
- 因為我不想安裝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



- 原因: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++
4.編譯安裝 : $sudo make

執行命令 : $sudo apt-get install bison

編譯成功!
5.安裝 sudo make install