Ich bin wirklich mit diesem Problem fest ... und ich hoffe, Sie können mir hier helfen.Apple Mach-O Linker (Id) Fehler mit GSOAP
Ich entwickle eine iPad-App für ein Unternehmen, das die Verwendung gesicherter SOAP-Webdienste erfordert ... nicht die perfekte Kombination! Ich weiß, die Sache ist, dass man sich bei Google umschaut, ich fand, dass das "beste" was ich machen sollte, war, einen WS-Client mit gSOAP zu erstellen und das habe ich gemacht! Jetzt habe ich den Client für einen dieser WS in C++.
Wenn ich versuche, eine der Methoden des WS zu nennen, und die App bauen ... das ist, was passiert:
Ld /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator/App.app/App normal i386
cd /Users/me/iOS/App
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin'
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
-L/Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator
-L/Users/me/iOS/App -F/Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator
-F/Applications/Xcode.app/Contents/Developer/Library/Frameworks
-filelist /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Intermediates/App.build/Debug-iphonesimulator/App.build/Objects-normal/i386/App.LinkFileList
-mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100
-framework SenTestingKit -framework Foundation -framework UIKit -framework QuartzCore -framework CoreGraphics -ldataSOAPlibDev
-o /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator/App.app/App
ld: warning: ignoring file /Users/me/iOS/App/libdataSOAPlibDev.a,
Datei für Archiv gebaut wurde, welche verknüpft (i386 nicht die Architektur wird
)Undefined symbols for architecture i386:
'soap::soap()', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'_soap_init_LIBRARY_VERSION_REQUIRED_20808', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'soap_call_ns1__obtenerPais(soap*, char const*, char const*, ns2__paisFile*,
ns1__obtenerPaisResponse&)', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'soap::~soap()', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'ns2__paisFile::soap_default(soap*)', referenced from:
ns2__paisFile::ns2__paisFile() in ViewContratosController.o
'vtable for ns2__paisFile', referenced from:
ns2__paisFile::ns2__paisFile() in ViewContratosController.o
HINWEIS: eine fehlende vtable in der Regel bedeutet, dass die erste nicht-Inline virtuelle Member-Funktion hat keine Definition. ld: Symbol (e) nicht für Architektur i386 Klirren gefunden: Fehler: Linker Befehl fehlgeschlagen mit Exit-Code 1 (Verwendung -v Aufruf sehen)
Der Hinweis, dem Problem sagen kann ... aber ich don' t wissen, wie man es löst ... irgendwelche Ideen?
Danke!
Zunächst einmal, vielen Dank für die schnelle Antwort! Ich habe an der Erstellung der Bibliothek libdataSOAPlibDev.a in der gleichen Architektur des Hauptprojekts gearbeitet, aber das Problem ist nicht verschwunden! Die gute Sache ist, dass ich erkannte, dass ich einige CPP-Dateien in den "Compile Sources" für das Ziel der statischen Bibliothek (libdataSOAPlibDev.a) fehlte ... ich muss sagen, dass diese Bibliothek die von gSOAP erzeugten Dateien enthält (.h, .cpp und .xml).Jetzt ist das Problem, dass ich einen neuen Fehler habe: diese Zeit ist:
ld: duplicate symbol soap_instantiate_std__string
... das ist dupliziert ... aber gebaut von gSOAP! : (( – VaroX