Windowsはgsoapを介してonvifソースコードを生成します

1. gsoapをダウンロードする      

   公式ウェブサイトのダウンロードアドレス:https :      //sourceforge.net/projects/gsoap2

2. wsdlファイルをダウンロードします

     ウェブサイト:https : //www.onvif.org/profiles/specifications/ 

    次のファイルを右クリックしてダウンロードします。

    

 

   赤いボックスファイルをwsdlというフォルダーに配置します。マウスの右ボタンを保存します。

   

 

 gsoapによって抽出されたフォルダーに移動し、これらの2つのファイルを見つけて、wsdlと同じディレクトリーに配置します。

 

   

 

 

  このファイルもwsdlと同じレベルのディレクトリに置かれます。

 

  メモ帳++を使用してすべてのwsdlファイルを開き、schemaLocationを検索して.xsdファイルのパスを再構成します。これで、同じレベルになり、同じレベルのディレクトリに直接移動するため、以下のようにすべてのファイルが変更されます。

 

 

 

cmdはwsdlフォルダーの上位レベルに入り、以下を実行します。

  wsdl2h -t typemap.dat -o onvif.h ./wsdl/accesscontrol.wsdl ./wsdl/accessrules.wsdl ./wsdl/actionengine.wsdl ./wsdl/advancedsecurity.wsdl ./wsdl/analytics.wsdl ./wsdl/ appmgmt.wsdl ./wsdl/authenticationbehavior.wsdl ./wsdl/credential.wsdl ./wsdl/deviceio.wsdl ./wsdl/devicemgmt.wsdl ./wsdl/display.wsdl ./wsdl/doorcontrol.wsdl ./wsdl/event .wsdl ./wsdl/imaging.wsdl ./wsdl/media.wsdl ./wsdl/media2.wsdl ./wsdl/provisioning.wsdl ./wsdl/ptz.wsdl ./wsdl/receiver.wsdl ./wsdl/recording。 wsdl ./wsdl/replay.wsdl ./wsdl/schedule.wsdl ./wsdl/search.wsdl ./wsdl/thermal.wsdl ./wsdl/uplink.wsdl

 

実行後、エラーが発生する可能性があります。フォルダなどが見つからず、最後に実行されたファイルを確認し、このファイルを開いて、見つからないファイルの名前を検索し、対応するWebサイトにアクセスしてダウンロードします。(誤ってcmdウィンドウを閉じて、スクリーンショットはありません)エラーメッセージを読んでから、上記のようにxsdファイルを構成する必要があります。

1つの追加ポイント:ws-addr.xsdはhttps://www.w3.org/2005/08/addressing/からダウンロードする必要があり、http://docs.oasis-openにはいくつかの.wsdlファイルと.xsdファイルがあります。 .org / wsn download、このエラーメッセージが表示されます。

 

これが成功したため、最後に表示されます:

プロセスを完了するには

:> soapcpp2 onvif.h

またはC ++プロキシとオブジェクトクラス生成するには

> soapcpp2 -j onvif.h

 

 

onvif.hという名前のファイルが現在のパスに生成され、それを開いて、以下に示すように#import "wsse.h"を追加します。

 

 

次に以下を実行します:soapcpp2 -j -2 -x onvif.h -I./gsoap-2.8/gsoap/import -I./gsoap-2.8/gsoap/

最後の2つのディレクトリは、gsoapへのインポート層の前にあります

                           gsoapのインポートの次のレイヤー

間違ったディレクトリはエラーを報告します:

   

 

 成功すると、次のようになります。

 

 

私のディレクトリ階層と生成されたソースファイル:

 

 

 

                          

  

 

 

 

   

 

おすすめ

転載: www.cnblogs.com/132818Creator/p/12675636.html