2012-12-25 9 views
49

Ich entwickle eine Anwendung in Xcode. Xcode Linker Fehler: Datei zu klein für Architektur x86_64

Wenn ich zu bauen versuchen, diese Fehler aufkommt:

ld: in /Users/theodore/Library/Developer/Xcode/DerivedData/Tower-bkpdifuqssebjdgurzmtirbxejnn/Build/Intermediates/Tower.build/Debug/Tower.build/Objects-normal/x86_64/TWRAppDelegate.o, file too small for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Wer weiß, was falsch ist?

+33

Versuchen Sie eine vollständige Neuerstellung/Reinigung. Es ist möglich, dass der vorherige Build abnormal abgebrochen wurde, wodurch die Datei "TWRAppDelegate.o" beschädigt oder zero-size wurde. –

+5

Eine kleine Präzisierung: Sie tun das mit cmd + shift + k, wenn das nicht funktioniert, gehen Sie in den abgeleiteten Datenordner und löschen Sie den Ordner, der als Ihr Projekt benannt ist. –

+3

@RamyAlZuhouri: Es besteht keine Notwendigkeit mehr, Ordner selbst zu erstellen. Halten Sie die Wahltaste gedrückt, und der Befehl "Reinigen" (der sich im Menü "Produkt" befindet) ändert sich in "Bereinigungsordner erstellen ...", was für Sie erledigt wird. –

Antwort

110

Stehlen @ martin-Baulig Antwort:

Versuchen voll a/sauber wieder aufzubauen. Es ist möglich, dass der vorherige Build abnormal abgebrochen wurde, sodass die Datei TWRAppDelegate.o beschädigt oder nicht groß ist.

+6

Endlich! Du verdienst es. – tbodt

+0

Danke! :-) Nun, @ Martin-Bailigs Antwort in den Kommentaren hat mir geholfen, aber es wäre besser, sie hier als echte Antwort zu haben. –

+0

Mein Projekt dauert eine Weile. Sie können damit nur die 1-4 Objektdateien löschen, die beschädigt werden, wenn Sie den Build nicht normal abbrechen. –

0

Da ein sauberes Projekt bauen kann viel zu lange dauern, da kürzerer Weg für diejenigen, die den Zugriff auf die Datei haben, die im Cache beschädigt ist:

  • die Datei löscht (Referenz entfernen)
  • bauen Projekt
  • Reinsert Datei
  • Build-Projekt

Vollversion, so dass Sie keine Schwierigkeiten haben, die f ile:

  • Suchen Sie die Datei in Xcode Projektnavigator
  • Rechts die Datei und drücken Sie die „Show in Finder“ klicken (öffnet ein Sucher an der Stelle, wo die Datei ist)
  • Wählen Sie die Datei in Xcode und Presse Backspace klicken Sie dann auf „Remove reference“
  • Build-Projekt (es wird scheitern, aber warten, bis es beendet)
  • Reinsert Datei, indem es aus dem Finder in der gleichen Position ziehen Sie es gerade
  • Build-Projekt gelöscht (sollte arbeite jetzt
  • )
0

Schritt 1. Gehen Sie zu: Projekt> Einstellungen> Suchpfade

Schritt 2. Set "Always Benutzer Suchpfade" auf Ja

Schritt 3. Erstellen Sie das Projekt (Sie werden erhalten eine Warnung, aber das Projekt bauen.)

Schritt 4. Stellen Sie auf Nein „Wege suchen immer User“ zurück und bauen wieder die Warnung

0

rm -rf /Users/hostname/Library/Developer/Xcode/DerivedData

zu beseitigen
0

Eine saubere Artikel nicht in meinem Fall wieder aufbauen, so kann ich erklären, wie ich das Problem gelöst:
- Removed Verweis auf die Datei (dont die Datei löschen)
- Fügen Sie die Datei in das Projekt erneut und führen

3

Ich füge normalerweise ein Leerzeichen hinzu (könnte ein beliebiges Zeichen sein), entferne es und speichere es dann. Leichter und schneller als ein Clean/Build.

Verwandte Themen