Ich habe ein Xcode-Projekt, das eine "Master" statische Bibliotheksziel hat, die/Links zu einer Reihe anderer statischer Bibliotheken aus anderen Xcode-Projekten enthält.Building iPhone statische Bibliothek für Armv6 und Armv7, die eine andere statische Bibliothek enthält
Beim Erstellen des Master-Bibliotheksziels für "Optimiert (armv6 armv7)" tritt in der letzten Phase während des CreateUniversalBinary-Schritts ein Fehler auf. Für jede Datei .o der Bibliotheken, die von der Master-Bibliothek enthalten ist, wird der folgende Fehler gemeldet (zum Beispiel der FBConnectGlobal.o-Datei):
warning for architecture: armv6 same member name (FBConnectGlobal.o)
in output file used for input files: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv6/libMTToolbox.a(FBConnectGlobal.o)
and: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv7/libMTToolbox.a(FBConnectGlobal.o)
due to use of basename, truncation and blank padding
Am Ende erzählt Xcode, dass der Build gelungen . Wenn Sie jedoch die endgültige statische Bibliothek in einem Anwendungsprojekt verwenden, wird sie nicht erstellt, da sie doppelte Symbole in einem Teil des Builds (armv6) findet und Symbole im anderen Teil des Builds (armv7) verfehlt.
Irgendwelche Ideen, wie das zu beheben?
M
Erstellen Sie keine Bibliotheken in andere Bibliotheken - es ist ein Rezept für Verwirrung, doppelte Symbolfehler und schwer zu debuggende Ergebnisse . Überprüfen Sie diese Frage: http://stackoverflow.com/questions/2300867/how-can-i-avoid-duplicate-symbol-errors-in-xcode-with-shared-static-libraries/2300873#2300873 –
Carl, danke . Vielleicht könntest du das als Antwort auf meine Frage anstatt auf den Kommentar posten, also könnte ich es als beantwortet markieren. –