Ich habe an meinem Projekt gearbeitet und plötzlich nach dem Bearbeiten des Codes und dem Kompilieren diesen Fehler ausgegeben:
ld: warning: Verzeichnis für Option '- nicht gefunden
L/Benutzer/mani/Dokumente/Klassen/Twitter + OAuth/Bibliotheken und Header 'ld: doppeltes Symbol _OBJC_CLASS _ $ _ playSiew in /Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/playSiew.o und /Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/Thumb.o für Architektur i386 clang: Fehler: Linkerbefehl mit Exit .__ fehlgeschlagen. Code 1 (verwenden Sie -v, um den Aufruf anzuzeigen)
Ich habe die Projekteinstellungen nie berührt, nur den Code bearbeitet.
Noch merkwürdiger ist, dass ich den letzten überarbeiteten Code aus svn herausgenommen habe, aber ich habe immer noch den gleichen Fehler erhalten.
Wie gesagt, das Problem war nicht der Code, sondern einige Einstellungen. Also habe ich den Code vom Mac meiner Freunde kopiert (es hat gut funktioniert) und eine neue Kopie des Projekts auf meinem Mac installiert. Es funktionierte.
Sie können aus Versehen eine .m-Datei anstelle einer .h-Datei #import
en. Verwenden Sie Cmd + Shift + F und suchen Sie nach ".m" (ohne Anführungszeichen). Es wird höchstwahrscheinlich in einer der in der Warnung genannten Klassen liegen. Wenn nicht, säubere und laufe wieder.
Ich hatte auch dasselbe Problem und ich folgte und das Problem ist weg.
Gehen Sie zu Product -> Clean und führen Sie das Projekt erneut aus.
Ich hoffe, dass es für andere Entwickler nützlich sein könnte.
Nachdem ich vor ein paar Minuten auf dieses Problem gestoßen war (ja, ich weiß, dass es seit dem ursprünglichen Thread 7 Monate ist), fand ich heraus, dass der Grund meines Problems darin lag, dass ich Dateien in mein Projekt innerhalb von XCode gezogen und abgelegt habe, anstatt mit der rechten Maustaste zu klicken Wählen Sie Dateien zu Projekt hinzufügen.
Überprüfen Sie, ob playSiew.m im Abschnitt Quellen kompilieren ist. nicht wahr?
Nach diesem Schritt finden Sie den Abschnitt Compile Sources
Wenn nicht playSiew.m in diesem Abschnitt vorhanden ist. Sie müssen es zu diesem Abschnitt hinzufügen.
Ich habe eine library in einen Testfall importiert, den ich in meiner pod-Datei für das Hauptziel angegeben hatte, nicht jedoch für das Testziel .
Wenn Sie in Unity arbeiten und nach iOS exportieren und ein Plugin verwenden, gehen Sie zu Xcode Build Settings und legen Sie ENABLE BITCODE = NO fest. Ich vermute, das trifft auch auf andere Situationen zu
Ich habe diese Fehlermeldung auch erhalten, weil ich versehentlich zwei Versionen derselben Quelldatei eingefügt hatte. Gelöscht das falsche und das Problem ging weg ...
Konfrontiert mit einem ähnlichen Problem, während der Code auf einem Simulator ausgeführt wurde, wurden alle oben genannten Optionen ausprobiert und derselbe Fehler wurde angezeigt. Versucht, das iOS-Gerät anzuschließen und den Code zu erstellen, hat es für uns funktioniert. Dies kann eine schnelle Problemumgehung sein.
In meinem Fall habe ich einen Verweis auf das FacebookLoginSDK-Framework hinzugefügt, aber den Suchpfad in der Build-Einstellung vergessen. Nach dem Entfernen der Referenz war alles in Ordnung.
Wenn Sie also ein externes Framework hinzufügen, sollten Sie vorsichtig sein.
Wenn dies bei mit CoreData generierten Klassen der Fall ist, kombinieren Sie die + CoreDataProperties und + CoreDataClass in der + CoreDataProperties-Klasse und löschen Sie die + CoreDataClass. Stellen Sie sicher, dass Sie Derived Data nach Resten der + CoreDataClass durchsuchen. Selbst nach dem Löschen der abgeleiteten Daten und der Bereinigung musste Xcode die + CoreDataClass immer wieder neu generieren. Das manuelle Löschen im Finder und das erneute Erstellen haben dazu beigetragen, dass das Problem gelöst wurde.
der gleiche Fehler, dem ich gegenüberstand. also entfernte ich gerade Referenz der Klassen, die die Fehler erzeugen, und gab dann erneut Referenz und der Fehler war weg ...
as D80Buckeye sagt, es sollte Probleme beim Ziehen und Ablegen von Dateien geben, statt auf "Dateien hinzufügen" zu klicken
Ich habe einige der aufgelisteten Antworten ausprobiert, aber keine funktionierte für mich ... Ich habe den Fehler nach dem Aktualisieren von XCode erhalten (während es noch geöffnet war, was möglicherweise zu dem Problem beigetragen hat).
Zuerst , Ich habe meinen Ordner "Abgeleitete Daten" gelöscht: XCode => Einstellungen => Standorte => Doppelklicken Sie auf den Pfeil neben dem Pfad, der angibt, wo der Ordner "Abgeleitete Daten" liegt. Dann "In den Papierkorb verschieben". Ich glaube nicht, dass es das Problem war, aber es ist erstaunlich, wie oft es für mich ein Problem war, an verschiedenen Problemen zu arbeiten.
Zweitens , 'Beende' den Simulator.
Drittens , 'X' quittiere ich.
Viertens , ich habe mein Projekt wieder in XCode geöffnet und dann ein Clean and Build gemacht (gefunden im Produktmenü)
Fünftens , ich habe mein Projekt ausgeführt und es hat gut funktioniert
Ich bin gerade auf den gleichen Fehler gestoßen. Wenn Sie eingebettete Bibliotheken verwenden, stellen Sie sicher, dass Ihr Deployment Target auf iOS 8.0 oder höher eingestellt ist.
Für den Fall, dass dies für alle anderen nützlich ist - ich hatte gerade den gleichen Fehler und stellte fest, dass die Ursache eine Variable in meiner Headerdatei und nicht in der Hauptdatei initialisiert hat.
Der einzige Weg, wie wir diesen Fehler an unserem Projekt überwinden können, besteht darin, eine Bereinigung durchzuführen und dann für iPad Retina zu bauen. Danach wird es erfolgreich für jedes Gerät erstellt. Seltsam.
sie müssen lediglich das folgende Framework hinzufügen: quartzcore.framework
Das Reinigen des Projekts funktioniert nicht für mich . Starten Sie den Xcode neu.
probieren Sie dies aus, gehen Sie zu Target -> Build Settings und suchen Sie diese drei wie folgt:
GCC_NO_COMMON_BLOCKS,
CLANG_WARN_INFINITE_RECURSION,
CLANG_WARN_SUSPICIOUS_MOVE,
nEIN für jeden Wert, dann bereinigen und erstellen.