0

次のコマンドを使用して、gsoap プロジェクトのファイルをコンパイルします。
私のプロジェクトのほとんどすべてのファイルは gsoap ツールによって生成されています。

全体として、プロジェクトがコンパイルできるかどうかを理解する必要があります。他のフラグが必要ですか?

gcc -c  -I/usr/include/gsoap soapAuftraegeImportSoap11BindingProxy.cpp

現在のエラーは次のとおりです。

soapAuftraegeImportSoap11BindingProxy.cpp:10: error: 'AuftraegeImportSoap11BindingProxy' has not been declared

この10行目は次のとおりです。

AuftraegeImportSoap11BindingProxy::AuftraegeImportSoap11BindingProxy()

ファイルは次のインクルードで始まります。

#include "soapAuftraegeImportSoap11BindingProxy.h"

ただし、ヘッダー ファイルにはクラスの宣言がありません。そして、他にはありません。さらなるエラーも参照してください:

soapAuftraegeImportSoap11BindingProxy.cpp:10: error: 'AuftraegeImportSoap11BindingProxy' has not been declared soapAuftraegeImportSoap11BindingProxy.cpp:10: error: ISO C++ forbids declaration of 'AuftraegeImportSoap11BindingProxy' with no type soapAuftraegeImportSoap11BindingProxy.cpp: In function 'int AuftraegeImportSoap11BindingProxy()': soapAuftraegeImportSoap11BindingProxy.cpp:11: error: 'AuftraegeImportSoap11BindingProxy_init' was not declared in this scope soapAuftraegeImportSoap11BindingProxy.cpp: At global scope: soapAuftraegeImportSoap11BindingProxy.cpp:14: error: 'AuftraegeImportSoap11BindingProxy' is not a class or namespace

うまくいけば、私の質問はあなたにとって理にかなっています。

4

1 に答える 1

0

この問題を解決するために、makefileを投稿します

C=g++
CCPLUS=g++
CFLAGS=-c  #-Wall


### gsoap 
INCL=-I/usr/include/gsoap
LIBS= -L/usr/lib/gsoap
LINK= -lgsoap -lgsoap++ -lgsoapck -lgsoapck++ -lgsoapssl -lgsoapssl++
OLINK= -lgsoap++

#OBJ=soapServer.o soapServerLib.o soapC.o

.SUFFIXES: .o .cpp

.cc.o:
        @rm -f $@
        $(CC) $(CFLAGS) $(INCL) $(INC) $<

.cpp.o:
        @rm -f $@
        $(CC) $(CFLAGS) $(INCL) $(INC)  $<

default:    client

clean:
        rm -r *.o 

cleanall:
        rm soap* *.xml *.nsmap *.h *.cgi 


default:    all
all:    client server

client: KundenWebServiceClient


server: KundenWebServiceServer
        cp KundenWebServiceServer /usr/lib/cgi-bin/

proxy: KundenWebService.h
        soapcpp2 -x -L -C -i -I/usr/include/gsoap KundenWebService.h
        rm *12*

service: KundenWebService.h
        soapcpp2 -x -L -S -i -I/usr/include/gsoap KundenWebService.h
        rm *12*

KundenWebService.h: KundenWebService.wsdl
        wsdl2h KundenWebService.wsdl

###


KundenWebServiceClient: KundenWebServiceClient.o soapKundenWebServiceSoap11BindingProxy.o soapC.o getrow.o
        $(CC)  -o KundenWebServiceClient KundenWebServiceClient.o soapKundenWebServiceSoap11BindingProxy.o soapC.o getrow.o $(LIBS) $(OLINK)


KundenWebServiceServer: KundenWebServiceServer.o soapKundenWebServiceSoap11BindingService.o soapC.o
        $(CC)  -o KundenWebServiceServer KundenWebServiceServer.o soapKundenWebServiceSoap11BindingService.o soapC.o $(OLINK)
于 2011-02-14T14:41:36.990 に答える