web-dev-qa-db-fra.com

la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation) dans Swift

J'ai utilisé la langue Swift dans mon projet d'application IOS sous Xcode6 Beta6, puis j'ai dû travailler dessus avec un autre ordinateur. Puis j'ai eu cette erreur:

"clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)" 

Cette erreur ne montre que des ordinateurs différents de celui sur lequel j'ai ouvert mon projet au début. Cela ne donne pas d'erreur dans le premier ordinateur (que j'ai ouvert et démarré au projet)

J'ai essayé de nettoyer et de supprimer le contenu du dossier DerivedData, mais cela me donne à nouveau la même erreur. Sous cette erreur, il est également indiqué que "fichier non trouvé:" pour l'intérieur du dossier DerivedData:

fichier introuvable: /Users/macbook/Library/Developer/Xcode/DerivedData/SihirliSayilar-gmmsqkhqgygosqeuqdiibnrjasbq/Build/Products/Debug-iphonesimulator/Project.app/Project

J'ai regardé les autres titres de ce numéro, mais aucun d'entre eux n'a résolu ce problème. Merci pour toute aide!

18
simge

Le fait que ce soit une erreur de l'éditeur de liens devrait vous orienter dans la bonne direction. Les erreurs de compilation signifient généralement une erreur de syntaxe. Erreur de l'éditeur de liens signifie que bien que vos fichiers source aient été compilés correctement, mais que le moment est venu d'être liés à d'autres frameworks (frameworks système ou tiers), Clang ne parvient pas à les trouver en place.

Cela est généralement dû au fait qu'une bibliothèque tierce est absente de votre système et que votre projet en dépend. Bien qu'il puisse trouver les fichiers d'en-tête, il ne trouve pas le fichier de bibliothèque auquel se connecter. Le fait de transférer votre projet sur d'autres ordinateurs vous pose des problèmes, alors que votre ordinateur compile et lie correctement, renforce également l'hypothèse qu'il s'agit probablement d'un problème lié à l'environnement que vous essayez de compiler et que vous devez installer quelque chose.

Pour en savoir plus sur le problème, accédez à Xcode, au navigateur de rapports et vous verrez les journaux de toutes les versions que vous avez créées. Vérifiez le premier (qui est la dernière construction). Faites défiler vers le bas et voyez exactement pourquoi il n'a pas été compilé. Le scénario le plus courant est que certains symboles sont introuvables. Vérifiez à quelle bibliothèque appartient ce symbole, puis installez-la sur votre système.

31
csotiriou

J'ai la même erreur que vous avez mentionnée. Je viens de nettoyer le projet et de le construire. Ça a marché!

Vous pouvez nettoyer le projet dans l'onglet Produit et sélectionner Nettoyer. Pour construire, sélectionnez l'onglet Construire dans le produit dans Xcode.

11
Rahul Akula

J'ai rencontré le même problème et ma solution est la suivante:

Fermez le projet actuel dans xcode ---> Accédez au fichier de votre projet et ouvrez-le en cliquant sur le fichier .xcworkspace. Remarque: pas le fichier .xodeproj.

J'espère que cela t'aides! 

9
shudeng wu

Dans mon cas, cela a fonctionné comme ceci:

-> Click on the project 
-> Go to "General" tab 
 down there
-> Go to "Linked Frameworks & Libraries"
-> Click of the "+" button , you will find something like this -> "Pods_yourProjectname.framework" add it
-> Then add the Frameworks that you have added from there only!
->"Command+B" (Build your Project) and the combination "Shift+Command+K" (Clean your Project)
->Run your Application.
5
Swifty Codes

Solution simple dans mon cas:

Product -> Clean

et alors:

Product -> Run
3
Mick

J'ai rencontré cette erreur lorsque j'ai ouvert .xcodeproj au lieu de .xcworkspace lors de l'utilisation du gestionnaire de dépendances cocoapods.

Assurez-vous d’ouvrir .xcworkspace .  enter image description here

2
Illegal Argument

J'ai eu la même erreur, et après avoir fouillé dans les journaux, j'ai trouvé l'erreur "Symbole en double" ...

Après de nombreuses recherches, j'ai découvert que j'avais importé un fichier ".m" au lieu d'un ".h"

Peut-être que cela pourrait aider quelqu'un.

2
BobCowe

Dans mon cas,

J'ai rencontré la même erreur clang lorsque j'ai ouvert le fichier myproject.xcodeproj au lieu de myproject.xcworkspace par erreur après avoir installé cocoapods dans mon projet.

1
iRiziya

Vous devrez peut-être lier le fichier récemment ajouté. Dans Mes dossiers, les fichiers n'ont pas été ajoutés, mais ils ont été référencés dans le projet. Le nom du fichier référencé doit apparaître en rouge. Tout d’abord, supprimez le fichier référencé, puis cliquez avec le bouton droit de la souris sur le groupe pour ajouter le fichier manuellement.

0

ça peut être n'importe quoi dans votre code, pour moi c'était un problème avec les classes de coredata ?:

@objc(Attribute) // the problem
class Category : NSManagedObject{
}

changé en

@objc(Category)
class Category : NSManagedObject{
}
0
Ashkan Ghodrat

Définissez l'application hôte sur la cible de votre projet. Vérifiez également que l'option Autoriser le test des API d'application hôte est activée.

 enter image description here

0
tania_S