gSOAP, Xcode und Linker Probleme die zweite

Ich habe noch mal ein wenig mit den verschiedenen Optionen von gSOAP herumgespielt und dabei folgendes festgestellt: die Probleme die ich beim Linken des Projektes hatte haben scheinbar nichts mit gSOAP zu tun!
Interessanterweise tritt das Problem immer dann auf, wenn man dem Projekt zuerst die von gSOAP erzeugten Dateien, und dann die gsoap Library hinzufügt!
Macht man es umgekehrt, also erst die Libarary hinzufügen und dann die Stub Files, dann compiliert und linkt das Projekt ohne Probleme.
Eine Erklärung konnte ich für dieses Verhalten bislang nicht finden.
|

gSoap, XCode und Cocoa

Da meine Versuche, funktionierende Stubs mit WSMakeStubs zu erzeugen, fehlgeschlagen sind, habe ich mich entschlossen es mit gSOAP zu versuchen.
Also hab ich gSOAP heruntergeladen, mit ./configure -prefix=/installdir - make - make install gSOAP compiliert und installiert.
Mit "wsdl2h -o NameDerHeaderDatei.h http://url_zur_wesdldatei.wsdl" und "soapcpp2 NameDerHeaderDatei.h" hab ich die Stub Files erzeugt und anschließend die erzeugten Dateien + stdsoap2.h und stdsoap2.cpp zu meinem Xcode Projekt hinzugefügt.
Leider hat direkt der erste Versuch das Projekt zum compilieren und zu linken fehlgeschlagen.
Der Linker hat die Meldung

"_namespaces", referenced from:
_namespaces$non_lazy_ptr in stdsoap2.o
symbol(s) not found"


ausgeworfen. Intensive Recherchen bei Google haben mich leider nicht weitergebracht.

Pasted Graphic 1

Was letztendlich geholfen hat, war gSOAP erneut, mit dem Flag "--disable-namespaces" zu compilieren:

/configure --prefix=/installdir --disable-namespaces
make
make install

Die anschließend neu erzeugten Stub Files hab ich erneut in mein Projekt importiert, dann noch die Library libsoap++.a eingebunden (einfach mit der Maus vom Finder in die Dateiliste im XCode ziehen).
Leider gab es immer noch Probleme beim Linken des Projektes. Die Ursache war diesmal jedoch, dass die importierten Quellcodes nicht alle compiliert wurden. Ich hab sie dann von Hand zum Target hinzugefügt (wieder per Drag&Drop in den Abschnitt "Compile Sources"):

Pasted Graphic

Jetzt endlich kann das Projekt erfolgreich compiliert und gelinkt werden. Auch die Verwendung der erzeugten Klassen aus den Stub Files funktioniert ohne Probleme.
|