Ausgabe
Ich habe jetzt die gleiche Frage mit obigem Titel, aber noch keine richtige Antwort gefunden. Ich habe den Fehler:
/Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
/Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
duplicate symbol _OBJC_METACLASS_$_MoboSDK in:
/Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
/Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
ld: 75 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Jede Hilfe ist willkommen.
Endlich finde ich den Grund für diesen Fehler heraus, weil ich -ObjC
die Other Linker Flags
. Nachdem ich diesen Wert entfernt habe, kann ich mein Projekt erfolgreich erstellen, aber ich weiß nicht warum. Kann das jemand erklären?
Lösung
75 doppelte Symbole für Architektur x86_64
Bedeutet, dass Sie dieselben Funktionen zweimal geladen haben. -ObjC
Da das Problem nach dem Entfernen verschwindet, Other Linker Flags,
bedeutet dies, dass diese Funktion zweimal geladen wird:
aus Technische Fragen und Antworten
Dieses Flag bewirkt, dass der Linker jede Objektdatei in der Bibliothek lädt, die eine Objective-C-Klasse oder -Kategorie definiert. Obwohl diese Option normalerweise zu einer größeren ausführbaren Datei führt (aufgrund des zusätzlichen Objektcodes, der in die Anwendung geladen wird), ermöglicht sie die erfolgreiche Erstellung effektiver statischer Objective-C-Bibliotheken, die Kategorien für vorhandene Klassen enthalten.
https://developer.apple.com/library/content/qa/qa1490/_index.html
Beantwortet von – David V
Antwort geprüft von – Cary Denson (FixError Admin)