Ich stoße in Xcode 4.5.1 auf doppelte Duplikatfehler, wenn ich nach dem Hinzufügen eines eigenen Frameworks versuche, ein Projekt zu erstellen. Ich verifizierte die Framework-Dateien für Duplikate und es gibt keine. Aber wenn ich das Framework zu einem Projekt hinzufüge, beschwert es sich mit diesem Fehler. Bitte schlagen Sie vor ..
%Vor%Vielen Dank im Voraus ..
Diese Symbole befinden sich in crt.o, dem Startup-Code der Standard-C-Bibliothek. Normalerweise sollte es der Einstiegspunkt einer ausführbaren Datei sein, um globale Variablen und Objekte zu initialisieren. Es wird auch deine Hauptfunktion aufrufen.
Aber für ein Framework sollten Sie es nicht in Ihre Binärdatei aufnehmen, da das Framework nicht main haben sollte. Ich glaube, dass Sie die Option "Link mit Standardbibliothek" in der Zielerstellungseinstellung Ihres Frameworks als "JA" angegeben haben. Dies verbindet crt.o mit Ihrem Framework. Und wenn Sie das Framework in ein Projekt einbinden, wird es doppelte Symbole geben.
Bitte setzen Sie die Option "Link mit Standard Library" in Ihrer Build-Einstellung auf NO.
Ich hatte das gleiche Problem mit der Verwendung von zwei Drittanbieter-Framework. Ich habe das gelöst, indem ich "all_load" in den Build-Einstellungen von "Other Linker Flags" entfernt habe.
Ihre Anwendung hat eine Implementierung bereitgestellt, in der acht Duplizierungssymbole vorhanden sind.
Es gibt verschiedene Möglichkeiten, dies zu tun:
Sie haben zwei Module, die dieselbe Klasse deklarieren. Vielleicht wird man nicht mehr benötigt?
Sie importieren jede Header-Datei in den Dateien .m und .h :-( Von einem Ort entfernen.)
Sie importieren irgendwo eine .m-Datei. : - (Importieren Sie die .h-Datei anstelle der .m-Datei)
Sie haben in einer beliebigen .h-Datei eine beliebige const-Variable außerhalb (oberhalb) der @schnittstelle {} definiert und deklariert, die dupliziert werden könnte. : - (Tun Sie es in der .m-Datei.)
Überprüfen Sie auch, ob globale Variablen wie Konstanten korrekt in .h
Datei in der Anwendung definiert sind.
Die korrekte Definition globaler Variablen besteht in der Verwendung der Variablen extern
in .h
file.
Hinweis: Dies ist kein Problem mit der vorherigen Xcode-Version. Ich hatte das Problem mit Xcode 6.3 und es wurde gelöst.
Wenn dieses Problem nur auftritt, wenn Sie die App im Simulator ausführen, wird sie durch Löschen des lokalen Ordners
gelöst %Vor%Xcode wird es nach dem ersten Build und Lauf wiederherstellen. BITTE MACHEN SIE SICHER, DASS SIE JEDE EINSTELLUNG BACKUP machen (vor allem im Zusammenhang mit Simulator-Geräten).
Getestet auf Xcode Version 7.2.1 (7C1002)
Tags und Links xcode compiler-errors duplicates symbol