gsoap で Web サービスを使用しようとしています。wsdl2h と soapcpp2 を使用してすべての *.h と *.cpp を既に生成し、すべてのライブラリを含めましたが、少なくともそう思いますが、プロジェクトをビルドすると、多くのメソッドへの未定義の参照のメッセージが表示されます。問題は、すべてのメソッドが soapH.h (プロトタイプ) と soapC.cpp (実装) で宣言されていることです。
どんな助けでも大歓迎です。
生成されたヘッダー ファイルをビルドに含めたようですが、そうすべきではありません。(例 wsdl から生成された .h ファイル) 生成された各ファイルのコメント セクションに説明があり、それらを読んで使用方法を理解することをお勧めします。また、openssl を使用する場合は、リンク プロセス (-lssl) 中にライブラリも含める必要があります。
解決しました。必要なのは元のヘッダー ファイルだけでした。wsdl から取得していました。
この問題が発生した場合: makefile にすべての .cpp ファイルを含める必要はありません。一部のファイルは他のファイルに含まれています。必要なものは、構築するのがクライアントかサーバーかによっても異なります。
ここのドキュメントを参照して、どのファイルが何のために必要かを確認してください。