web-dev-qa-db-fra.com

Erreur de liaison dans Xcode

Je reçois cette erreur après avoir ajouté le fichier libxml2.2.dylib

 Linking /Users/Biranchi/Desktop/Funmovies TabBarController/build/Debug-iphonesimulator/funmovies.app/funmovies (1 error)
 in /Developer/Platforms/iphoneOS.platform/Developer/SDKs/iphoneOS3.0.sdk/lib/libobjc.A.dylib, missing required architecture i386 in file

Command /XCode3.1.4/platforms/iphoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Quelle est cette erreur due à ??

Toutes les suggestions sont appréciées.

Merci Biranchi

13
Biranchi

Vous avez la même erreur, même quand j'ai supprimé libxml2 de l'erreur de projet toujours ici :) Ce sh ** y XCode a écrit ceci:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib,
+                );

dans le fichier de configuration du projet "project.pbxproj" dans "MyProj.xcodeproj". 

Vous pouvez changer ce chemin à main en quelque chose comme:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneSimulatorOS.platform/Developer/SDKs/iPhoneSimulatorOS3.0.sdk/usr/lib,
+                );

Mais n'oubliez pas de le reconvertir lors de la compilation dans le périphérique. Je vais essayer de trouver un moyen plus simple de résoudre ce problème.

2
Oleksii

Assurez-vous d'importer avec l'extension correcte.

J'ai eu l'erreur quand j'ai écrit par erreur #import "AClass.m" au lieu de #import "AClass.h" :-)

34
hfossli

Je devais supprimer cette bibliothèque libz.1.2.3.dylib et ajouter celle-ci libz.1.2.5.dylib. Après cela, tout a bien été compilé.

8
mracoker

Essayez le produit -> Nettoyez. Travaillé pour moi.

5
Brooks Hanes

How to add as a compiled source

Assurez-vous que si vous avez des classes externes, elles sont ajoutées aux sources de compilation. J'ai eu la même erreur quand j'essayais d'importer une certaine classe. Pour résoudre ce problème, passez aux phases de construction et ajoutez-le aux sources compilées.

3
JH95

J'ai eu un problème similaire lors de la construction d'un projet, mais cette fois avec le fichier timbreID.c

arm-Apple-darwin10-gcc-4.2.1: timbreID.c: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Après plusieurs tentatives, j'ai finalement examiné les "Cibles" de mon projet XCode et constaté que le fichier timbreID.c était rouge (= introuvable). Je fais un clic droit dessus et choisis le nouveau chemin manuellement.

Après cela: la construction a réussi !!

2
Cordeiro

supprimez simplement libz1.2.3 et ajoutez la bibliothèque libz1.2.5 à votre phase de construction.

2
AppleIosPandi

S'il s'agit d'un problème lié à un travail de cadre spécifique, assurez-vous qu'il est activé lors de la phase de construction. Pour moi, j'ai dû ajouter MessageUI.framework: Dans Xcode 4, accédez à l'onglet des phases de construction de votre cible. Assurez-vous de voir les cadres que vous utilisez. Si ce n'est pas le cas, cliquez sur + pour l'ajouter.

1
Graham P Heath

J'ai eu le même problème et j'ai continué à vérifier l'information sur la cible

Dans les chemins de recherche de la bibliothèque, il y avait cette entrée, "$ (DEVELOPER_DIR) /Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib"

Je l'ai enlevé et l'application a travaillé !!!

1

J'obtenais la même erreur même si aucun des fichiers du volet de navigation n'était rouge. Il s'avère qu'en refacturant le nom d'une classe, les emplacements du chemin xcode sont désactivés. La solution qui a fonctionné pour moi a consisté à sélectionner les fichiers .h et .m un à la fois, à définir l’emplacement sur "Chemin absolu" (dans le menu de droite, onglet le plus à gauche), puis à rechercher son emplacement dans le système de fichiers.

0
sur

Pour ajouter à la réponse de Graham Heath - qui, à mon avis, mérite davantage de place dans le fil.

La recherche d'un cadre manquant est la solution la plus rapide et la plus simple à essayer. Totalement non destructif et probablement la cause de ce type d’erreurs pour la plupart des gens. Il suffit de parcourir la liste des cadres pour trouver quelque chose d’apparent approprié et de l’essayer. Je pense que beaucoup de gens sont dupes parce que XCode ne signale pas un problème avec une classe lorsque vous écrivez le code - juste au moment où vous le liez.

Mon erreur était: "La commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)" concernant quelques erreurs dans CoreLocation:

"Symboles non définis pour l'architecture armv7: " _OBJC_CLASS _ $ _ CLLocationManager ", référencé depuis: Objc-class-ref dans NPTViewController.o"

J'ai ajouté CoreLocation.framework et le travail était terminé.

0
Tim

Essayez d’émettre la commande en échec à partir de la ligne de commande. Là, vous verrez la sortie stderr qui n'est pas affichée via l'interface graphique.

0