J'ai construit ma propre bibliothèque statique avec des composants à réutiliser dans mon projet, et j'ai récemment eu besoin de mettre à jour un tas de classes. Plus précisément, certaines signatures de méthodes ont été modifiées en raison du fait que certaines classes ont changé de nom.Erreurs de liaison du SDK iPhone avec la bibliothèque statique
Qu'est-ce qui se passe maintenant est que la bibliothèque compile bien sur lui-même, mais, lorsqu'il est ajouté à un projet d'application, le projet ne lien:
Ld build/Sucursales.build/Debug-iphoneos/Sucursales.build/Objects-normal/armv6/Sucursales normal armv6
cd /Users/nameghino/src/Sucursales
setenv IPHONEOS_DEPLOYMENT_TARGET 3.1
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk -L/Users/nameghino/src/Sucursales/build/Debug-iphoneos -L/Users/nameghino/src/Sucursales/../../Library/MyLibraries/MSSharedLibrary-1.0.0 -F/Users/nameghino/src/Sucursales/build/Debug-iphoneos -filelist /Users/nameghino/src/Sucursales/build/Sucursales.build/Debug-iphoneos/Sucursales.build/Objects-normal/armv6/Sucursales.LinkFileList -dead_strip -lxml2 -ObjC -all_load -miphoneos-version-min=3.1 -framework Foundation -framework UIKit -framework CoreGraphics -lsqlite3.0 -framework CoreLocation -framework MapKit -lxml2 /Users/nameghino/src/MSSharedComponents/Frameworks/MSSharedLibrary/build/Debug-iphoneos/libMSSharedLibrary.a -o /Users/nameghino/src/Sucursales/build/Sucursales.build/Debug-iphoneos/Sucursales.build/Objects-normal/armv6/Sucursales
Undefined symbols:
"_OBJC_CLASS_$_DataCatalogService_GetSingleRow", referenced from:
objc-class-ref-to-DataCatalogService_GetSingleRow in libMSSharedLibrary.a(MSDataCatalogSpecification.o)
**"_OBJC_CLASS_$_DataCatalogService_ArrayOfString", referenced from:
objc-class-ref-to-DataCatalogService_ArrayOfString in libMSSharedLibrary.a(MSDataCatalogSpecification.o)
"_OBJC_CLASS_$_DataCatalogService_GetSingleRowResponse", referenced from:
objc-class-ref-to-DataCatalogService_GetSingleRowResponse in libMSSharedLibrary.a(MSSingleRowResultsParser.o)
"_OBJC_CLASS_$_DataCatalogService_GetMultiRowResponse", referenced from:
objc-class-ref-to-DataCatalogService_GetMultiRowResponse in libMSSharedLibrary.a(MSMultiRowResultsParser.o)
"_OBJC_CLASS_$_DataCatalogService_GetMultiRow", referenced from:
objc-class-ref-to-DataCatalogService_GetMultiRow in libMSSharedLibrary.a(MSDataCatalogSpecification.o)
"_OBJC_CLASS_$_DataCatalogService_HelloWorldResponse", referenced from:
objc-class-ref-to-DataCatalogService_HelloWorldResponse in libMSSharedLibrary.a(DataCatalogService.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status**
La chose curieuse est que, après beaucoup de nettoyages de projet (à la fois dans l'application et les projets lib), je reçois toujours le même problème. Même après avoir démarré un nouveau projet, le problème est toujours là.
J'ai également pris soin de redémarrer Xcode entre un nettoyage et une construction à quelques reprises, mais pas bon.
Des idées sur où chercher?
Merci pour votre réponse! Oui, la bibliothèque est une dépendance pour le projet. Oui, le nom de la bibliothèque se trouve dans le groupe "Lier les binaires avec les bibliothèques". Oui, en fait, l'appel de l'éditeur de liens est dans le pastie ci-dessus. – Nico