使用gsoap編譯生成onvif原始碼C C 檔案

2021-08-16 03:52:12 字數 1381 閱讀 6320

需要先安裝openssl

sudo apt-get install openssl 

sudo apt-get install libssl-dev

./config

make

sudo make install

安裝成功後可以使用wsdl2h 和soapcpp2命令

wsdl2h 命令用於生成標頭檔案

soapcpp2 命令用於生成原始碼

新建乙個目錄,如onvif_code,把原始碼目錄中的typemap.dat拷貝到此目錄

2.1 生成onvif.h檔案

wsdl2h -o onvif.h -c -s -t ./typemap.dat
本地生成onvif.h檔案
wget
編譯過程可能會提示某個xsd檔案沒找到,那是當前編譯的wsdl檔案中包含該xsd檔案時路徑與本地路徑不一致,修改wsdl檔案中的該路徑就好。

wsdl2h -o onvif.h -c -s -t ./typemap.dat wsdl/devicemgmt.wsdl wsdl/event.wsdl wsdl/display.wsdl wsdl/deviceio.wsdl wsdl/imaging.wsdl wsdl/media.wsdl wsdl/ptz.wsdl wsdl/receiver.wsdl wsdl/recording.wsdl wsdl/search.wsdl wsdl/replay.wsdl wsdl/thermal.wsdl wsdl/analytics.wsdl wsdl/analyticsdevice.wsdl wsdl/actionengine.wsdl wsdl/accesscontrol.wsdl wsdl/doorcontrol.wsdl wsdl/advancedsecurity.wsdl wsdl/accessrules.wsdl wsdl/credential.wsdl wsdl/schedule.wsdl
2.2 生成原始檔

soapcpp2的具體引數說明可以通過soapcpp2 -h檢視,-c生成c語言,-c++生成c++,-c只生成client原始碼,-s只生成server原始碼,-x不生成xml檔案

生成c原始檔

soapcpp2 -c onvif.h -x -i gsoap原始碼的import資料夾路徑 -i gsoap原始碼的gsoap資料夾路徑
生成c++原始檔
soapcpp2 -c++ onvif.h -x -i gsoap原始碼的import資料夾路徑 -i gsoap原始碼的gsoap資料夾路徑
至此onvif原始碼生成完畢,2.1步驟生成的onvif.h檔案的作用只是用於生成原始碼的中間檔案,不需要放入onvif原始碼的工程中。

gSOAP 使用WebServer心得

關於正常怎麼使用gsoap的話,下面那篇部落格已經講得非常詳細,我就不再贅述了 問題1 如果你使用的gsoap是1.2版本,而webserver伺服器是1.0版本,wcf server 和 gsoap產生的 client端之間通訊的soap message format不匹配。當客戶端發起請求時,s...

UbuntuC開發個人使用配置及ONVIF開發配置

如果失敗 一 檢查網路問題 檢查dns 1 ping qq.com 出現unkowen 2 設定 dns 檢視vi etc resolv.conf 這裡面設定了重啟就消失了 永久 方法一 通過sudo vi etc network inte ces,在它的最後增加一句 dns nameservers...

gsoap在ubuntu18 04上編譯

如果從來沒安裝過,預先安裝以下內容。apt get install g flex bison openssl libssl dev libgtk2.0 dev libglib2.0 dev 之後進入源 檔案件 gsoap 2.8 下執行如下命令 configure prefix usr local ...