[gelöst] gSOAP beispiel soap_serve

Dein Thema passt einfach in kein Forum? Dann probiers mal hier.
Antworten
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

[gelöst] gSOAP beispiel soap_serve

Beitrag von Mani99 »

Hi,

ich habe das gSOAP beispiel von der webseite in mein testprogramm eingebunden, und alles laut anleitung gemacht, trotzdem bekomme ich eine fehlermeldung beim kompilieren:

Code: Alles auswählen

error: ‘soap_serve’ was not declared in this scope
Ich weiß nicht ob ich irgendetwas vergessen habe? Kann mir jemand sagen was ich falsch mache? Bitte um hilfe, danke!

hier ist der komplette source des beispiels ohne die qt teile:

Code: Alles auswählen

#include "soap/soapservertestService.h"
#include "soap/servertest.nsmap"

int main(int argc, char *argv[])
{
   struct soap soap;
   int m, s; // master and slave sockets
   soap_init(&soap);
   m = soap_bind(&soap, "machine.genivia.com", 18083, 100);
   if (m < 0)
      soap_print_fault(&soap, stderr);
   else
   {
      fprintf(stderr, "Socket connection successful: master socket = %d\n", m);
      for (int i = 1; ; i++)
      {
         s = soap_accept(&soap);
         if (s < 0)
         {
            soap_print_fault(&soap, stderr);
            break;
         }
         fprintf(stderr, "%d: accepted connection from IP=%d.%d.%d.%d socket=%d", i,
            (soap.ip >> 24)&0xFF, (soap.ip >> 16)&0xFF, (soap.ip >> 8)&0xFF, soap.ip&0xFF, s);
         if (soap_serve(&soap) != SOAP_OK) // process RPC request
            soap_print_fault(&soap, stderr); // print error
         fprintf(stderr, "request served\n");
         soap_destroy(&soap); // clean up class instances
         soap_end(&soap); // clean up everything and close socket
      }
   }
   soap_done(&soap); // close master socket and detach context 
}
Und hier das *.pro file:

Code: Alles auswählen

QT       += core

QT       -= gui

TARGET = SoapTestServer
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp \
    soap/soapservertestService.cpp \
    soap/soapC.cpp

OTHER_FILES += \
    soap/servertest.nsmap

HEADERS += \
    soap/soapservertestService.h \
    soap/soapH.h \
    soap/soapStub.h

INCLUDEPATH = /usr/local/include/

LIBS += -L/usr/local/lib/ -lgsoap++
Zuletzt geändert von Mani99 am 21. März 2011 09:12, insgesamt 1-mal geändert.
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

Hab da so ne Vermutung ....

Code: Alles auswählen

struct soap soap; 
meinst du es ist schlau eine variable so zu nennen wie ein typ (struct) ... ?

Versuch mal

Code: Alles auswählen

int int;
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

Beitrag von Mani99 »

Hi,

danke für die antwort, aber das wars leider nicht. Ich hab alle soap in my_soap umbenannt. Immer noch der gleiche fehler:

Code: Alles auswählen

'soap_serve' was not declared in this scope
//EDIT:

Nach weiteren recherchen habe ich die lösung gefunden:

Wenn man die soap sourcen als reinen c code erstellt, gibts soap_serve, falls man jedoch für c++ (mit der option -i) erstellt, existiert soap_serve nicht!
Antworten