GTK, SDL, GSOAP in C++

MS47475

Mitglied
Hallo,

ich muss eine Anwendung erstellen, mit der ich auf Joystick-Events reagieren kann. Danach muss ich über SOAP eine Methode einer PHP-Klasse aufrufen. Jetzt habe ich bisher nur bei SDL ein Joystick-Event gefunden und eine Beispiel-Anwendung erstellt, die darauf reagiert. Auch habe ich eine Beispielanwendung erstellt, mit der ich die SOAP-Anfrage regel. Die SOAP-Anwendung habe ich mit Hilfe von GSOAP erstellt. Jetzt wollte ich beide Anwendungen zusammen werfen bekomme aber leider Fehlermeldungen, wenn ich allein schon die Headerfile include.
Code:
cc -Wall -g  -L/usr/lib -lSDL -lSDL_ttf -lpthread  main.c   -o main
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:299:1: Warnung: »HAVE_STRRCHR« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:104:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:300:1: Warnung: »HAVE_STRTOD« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:116:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:301:1: Warnung: »HAVE_SSCANF« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:125:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:302:1: Warnung: »HAVE_STRTOL« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:110:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:303:1: Warnung: »HAVE_STRTOUL« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:111:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:304:1: Warnung: »HAVE_STRTOLL« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:114:1: Warnung: dies ist die Stelle der vorherigen Definition
In Datei, eingefügt von soapStub.h:10,
                 von soapH.h:10,
                 von main.c:5:
stdsoap2.h:305:1: Warnung: »HAVE_STRTOULL« redefiniert
In Datei, eingefügt von /usr/include/SDL/SDL_stdinc.h:28,
                 von /usr/include/SDL/SDL_main.h:26,
                 von /usr/include/SDL/SDL.h:28,
                 von main.c:1:
/usr/include/SDL/SDL_config.h:115:1: Warnung: dies ist die Stelle der vorherigen Definition
In file included from soapH.h:10,
                 from main.c:5:
soapStub.h:31: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:53: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:75: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:109: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:120: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:132: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:142: Fehler: expected specifier-qualifier-list before »public«
soapStub.h:207: Fehler: expected »;«, »,« or »)« before »&« token
soapStub.h:209: Fehler: expected »;«, »,« or »)« before »&« token
soapStub.h:220: Fehler: expected »;«, »,« or »)« before »&« token
soapStub.h:222: Fehler: expected »;«, »,« or »)« before »&« token
make: *** [main] Fehler 1
Geht das überhaupt? Gibt es vielleicht auch in GTK 2 irgendwelche Joystick-Events? Wie gesagt, gefunden habe ich dies bezüglich leider nichts.
Vielen Dank im Voraus.

Gruß,
Markus
 
Nein, für GTK gibt es keine Joystick bezogene Funktionen.

Hast du dir die Fehlermeldung(en) auch schonmal genau angeguckt?

Am Anfang schmeisst der Compiler Warnungen über neudefinierte Macros/Enums/Etc.

Später gibt es erst die richtigen Fehler ( Warnungen trotzdem immer beachten .)

Schau doch mal in die Zeile im Quellcode nach!?
 
Nein, für GTK gibt es keine Joystick bezogene Funktionen.

Hast du dir die Fehlermeldung(en) auch schonmal genau angeguckt?

Am Anfang schmeisst der Compiler Warnungen über neudefinierte Macros/Enums/Etc.

Später gibt es erst die richtigen Fehler ( Warnungen trotzdem immer beachten .)

Schau doch mal in die Zeile im Quellcode nach!?

Also, die Warnungen am Anfang habe ich nicht beseitigt bekommen, aber die Fehlermeldungen. Blöder Fehler :-(
1. Habe vergessen, im Quellcode die Struktur für die Namespaces zu definieren:
Code:
struct Namespace namespaces[] =
{
  { "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/" },
  { "SOAP-ENC","http://schemas.xmlsoap.org/soap/encoding/"},
  { "xsi", "http://www.w3.org/1999/XMLSchema-instance" },
  { "xsd", "http://www.w3.org/1999/XMLSchema" },
  { "ns2", "urn:soap_server" },
  { NULL, NULL }
};
2. Fehler liegt im Makefile. Da bin ich leider noch nicht so fit drin
hiermit funktioniert das:
Code:
g++ -o main main.c soap/soapC.cpp soap/soapClient.cpp soap/stdsoap2.cpp -L/usr/lib -lSDL -lSDL_ttf -lpthread
 
Zurück