Xcode linker erreur: le fichier est trop petit pour l'architecture x86_64
Je suis du développement d'une application dans Xcode.
Quand j'essaie de compiler, cette erreur apparaît:
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)
Personne ne sait quel est le problème?
- Essayez une reconstruction complète / nettoyer. Il est possible que la version précédente a été anormalement abandonnée, laissant le
TWRAppDelegate.o
fichier corrompu ou zéro-taille. - Un peu precisation: vous n'avez qu'avec cmd+maj+k, si cela ne fonctionne pas, allez dans les données dérivées du dossier et supprimer le dossier nommé comme votre projet.
- Il n'y a pas besoin d'aller Bousiller construire des dossiers plus soi-même. Maintenez les touches Option et commande Clean (qui est dans le menu Produit) les changements de “Nettoyer Dossier de création...”, ce qui le fait pour vous.
- Martin Baulig la suggestion a résolu mon problème. Merci!
- Si vous postez votre suggestion comme une réponse, je vais upvote et de le marquer comme " la accepté de répondre.
- POUVEZ-VOUS M'ENTENDRE?
- Merci de me laisser voler votre commentaire. Mon copier-coller et de il a juste obtenu à 40 upvotes, et m'a donné le Gourou de l'argent insigne. Aller à la figure. 🙂
- Rapporte-moi la bonne Question d'argent insigne 🙂
- J'ai commencé à souvent cette erreur pour un tiers bibliothèque écrite en Swift (PromiseKit). Il l'habitude de travailler sur OK lorsque j'ai utilisé l'ancienne version qui a été écrit en Objective-C. c'est Peut-être un bug dans la Swift compilateur?
Vous devez vous connecter pour publier un commentaire.
Voler @martin-baulig réponse:
Tenter une reconstruction complète /nettoyer. Il est possible que la version précédente a été anormalement abandonnée, laissant le TWRAppDelegate.o fichier corrompu ou zéro-taille.
Je l'habitude d'ajouter un espace (qui peut être de n'importe quel caractère pour cette question) dans le fichier en question, retirez-la, puis enregistrer.
Plus facile et plus rapide qu'une construction propre.
rm -rf /Users/hostname/Library/Developer/Xcode/DerivedData
tout simplement supprimer ce fichier à exécuter cmd dans votre terminal app:
HTML:
Pour résoudre automatiquement ce problème
Build Script Phase
peuvent être ajoutés. Goto Xcode -> Votre Projet -> Votre Cible -> Phases de construction -> + -> Nouveau Exécuter le Script PhaseRenommer
Xcode Link Fix
et de le déplacer au-dessusCompile Sources
phase. Les coller dans le script corps:Ce script vérifie pour objet les fichiers avec une taille de zéro et les supprime donc lorsque la compilation est faite dans la prochaine étape, c'succès.
Vous devez ajouter ce script pour chaque application cible, si vous avez beaucoup de.
Ce script prend ~0,1 seconde pour exécuter et vous permet d'économiser de plein projet de reconstruction.
Depuis la construction d'un nettoyage de projet peut prendre de façon trop longtemps, il est plus court moyen pour ceux qui ont l'accès au fichier est corrompu dans le cache:
Version complète de sorte que vous n'avez aucun mal à trouver le fichier:
Vous pouvez simplement supprimer le TWRAppDelegate.o fichier et continuer votre build. Copiez le chemin d'accès complet mentionné dans le message d'erreur et le coller derrière un 'rm' de la commande dans votre terminal. Il n'y a pas besoin de nettoyer/reconstruction, de supprimer des données dérivées, ajouter/supprimer le fichier de projet, etc..
Moyen rapide pour corriger l'erreur sans le cache de propreté:
TWRAppDelegate
)L'étape 1. Aller à: Project > Build Settings > les Chemins de Recherche
L'étape 2. Set "Toujours à la Recherche de Chemins de l'Utilisateur" sur "Oui"
L'étape 3. La construction du projet (Vous aurez un message d'avertissement mais le projet permettra de construire.)
L'étape 4. Set "Toujours à la Recherche de Chemins de l'Utilisateur" Ne et construire à nouveau pour éliminer l'avertissement
Propre reconstruire na pas dans mon cas, donc je vais expliquer comment j'ai résolu le problème:
- Suppression de la référence au fichier (n'effacez pas le fichier)
- Ajouter le fichier à nouveau le projet et exécutez