web-dev-qa-db-fra.com

Erreur Apple Mach-O Linker lors de la compilation pour le périphérique

Je viens de passer à xcode 4.0 et je ne peux plus le déployer sur iPhone, je reçois une erreur Apple Linker Mach-O, cela fonctionne toujours pour le simulateur.

    Ld /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel normal armv7
    cd /Users/yveswheeler/iParcel
    setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -Arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -F/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -filelist /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel.LinkFileList -dead_strip -all_load -ObjC -lxml2 -miphoneos-version-min=3.2 -framework UIKit -framework CoreGraphics -framework QuartzCore /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a -framework AddressBook -lz.1.2.3 -framework Foundation -framework CFNetwork -framework MobileCoreServices -framework SystemConfiguration -framework MessageUI -framework AudioToolbox -o /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel

arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a: No such file or directory
arm-Apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1
233
CodeVomit

Le problème était que dans XCode 4, les dépendances n'assument pas les paramètres d'architecture du projet principal, comme c'était le cas auparavant dans XCode 3. Je devais passer en revue toutes mes dépendances en les définissant pour l'architecture correcte.

20
CodeVomit

Voici une solution permanente. Généralement, un projet d’écriture peut causer ce problème. Essayez cette méthode.

-UPDATE - Erreur Clang - Erreur Mach-O Linker

Dans certains cas, la fenêtre du journal des erreurs affichant une erreur .xctest, pour y remédier

-> Sélectionnez votre projet

-> À côté de cela (juste avant l'onglet Général), sélectionnez votre fichier projectTest dans la liste déroulante.

-> Il y a une option (comme ProjNameTests)

-> Dans l'application hôte, sélectionnez votre projet dans la liste déroulante uniquement s'il affiche

TERMINÉ!

enter image description here

Ancienne méthode supprimée

214
Gajendra K Chauhan

J'ai eu le même problème et le problème était que j'ai importé accidentellement un fichier .m au lieu de .h dans un fichier d'implémentation - j'espère que cela aidera

195
Daniel

Je viens de rencontrer le même problème.

La solution (pour moi) = vérifiez vos frameworks. 

Dans mon cas, j'avais ajouté des classes liées à CoreData sans "CoreData.framework". En l'ajoutant, MACH_O s'est plaint.

73
Dante Cesa

ouvrir le fichier .xcworkspace pas .xcodeproj. Je répète ouvrir le fichier .xcworkspace. Toutes vos erreurs vont disparaître.

56
mahi

Re: Problème comme indiqué dans le titre:

Juste au cas où quelqu'un aurait raté l'évidence ...

Je suis tombé sur cette erreur après avoir installé une nouvelle version de Xcode4 et fait glisser des fichiers existants dans un nouveau projet. Je n'avais pas remarqué que la case "Ajouter aux cibles" n'avait pas été cochée dans la boîte de dialogue "Choisir les options pour l'ajout de fichiers:" La correction de mon omission dans Cibles> Phases de construction> Compiler les sources a résolu le problème.

36
cate

Menu> Produit> Nettoyer, c’est ce qui a fait son travail. Je ne suis pas sûr de tous les autres. J'ai ajouté une photo à montrer. 

enter image description here

31
dnaatwork.com

Erreur bizarre. Pour moi, je viens de nettoyer et de redémarrer Xcode et le problème a disparu.

29
p.pad

Correctif: Paramètres de construction> Activer le code binaire> Non  enter image description here

26
Sebastián Lara

Aucune de ces réponses ne m'a aidé. Ensuite, j'ai essayé de réinstaller Cocoapods:

pod deintegrate

pod install

Problème résolu!

20
Johannes

J'ai eu le même et j'ai réussi à le résoudre. 

Dans xcode preferences, location tab change la valeur sous build location en "Place build products in locations specified by targets"

13
Wolfert

J'ai eu du mal avec cela pendant un petit moment, et dans mon cas, cela a été le paramètre de construction sous les chemins de recherche appelé FRAMEWORK_SEARCH_PATHS. Cela m'a aidé de choisir le bouton "Niveaux", qui semblait comparer mes paramètres de projet, cible et "Résolu". J'ai vu que mon paramètre de cible remplaçait en quelque sorte la valeur par défaut de "$ (hérité)", et la valeur remplacée correspondait à ce que XCode a "résolu" comme paramètre. Lorsque j'ai supprimé le remplacement, qui dans ce cas spécifiait le kit de développement 3.2, les erreurs de l'éditeur de liens ont disparu - ainsi que certains avertissements récemment apparus concernant les classes dans lesquelles j'ai appelé des méthodes post-4.0.

À propos de ces avertissements - je ne les ai jamais vus avant d’ajouter le cadre MessageUI à un changement récent. Je suppose, mais je ne le sais pas avec certitude, que lorsque j'ai ajouté ce cadre, XCode a essayé de faire quelque chose d'intelligent en ajoutant ce remplacement à ma cible. Je ne l'ai pas fait explicitement à aucun moment. Les avertissements concernaient, par exemple, la méthode URLByAppendingPathComponent de NSURL, qui n’apparaissait pas avant sdk 4.0. Avant d'ajouter le framework MessageUI, je n'avais jamais reçu cet avertissement. Et depuis que j'ai supprimé la dérogation, je ne les ai plus.

13
tigerswim19

J'ai eu ce problème et l'importation QuartzCore l'a résolu.

11
jmosesman

Changer "Construire les architectures actives uniquement" en Oui dans CordovaLib.xcodeproj -> Configurer les paramètres a été ce que j'ai trouvé. Auparavant, l'application fonctionnait sur simulateur, mais pas sur l'appareil. 

8
Whizkid747

J'avais le même problème: j'ai accidentellement supprimé un fichier .m alors que .h était dans le projet . Le problème a disparu lorsque j'ai restauré le fichier .m.

7
Misha Karpenko

Vous devrez peut-être mettre à jour vos paramètres de construction.

Vérifiez la version de la cible iOS et les architectures de processeur, car vous ne disposez peut-être pas des anciens SDK avec XCode 4.

Vous pouvez voir «SDK manquant» dans les paramètres de construction. Changer cela à tout ce qui s'applique.

7
Macmade

Vérifiez que vous n’avez pas spécifié de chemin de recherche spécifique dans la structure. si vous accédez aux informations sur la cible et supprimez simplement les entrées du chemin de recherche d'infrastructure, vous devez utiliser les valeurs par défaut pour votre version de déploiement spécifiée.

6
Grady Player

Si vous utilisez CoreData et que vous utilisez XCode pour générer des sous-classes NSManagedObject pour vos entités, assurez-vous de n'en générer qu'un pour chaque entité.

Mon problème était qu'il générait plusieurs sous-classes NSManagedObject pour la même entité (et les plaçait dans des dossiers différents). 

Je viens de toutes les supprimer et de régénérer les sous-classes NSManagedObject.

5
Flaviu

J'essaie juste de créer un fichier category class et j'ai ce problème étrange ... et finalement ...

Wrong moyen de créer une classe de catégorie qui cause le problème:

New File -> Cocoa Touch -> Objective-C class, puis j'ai modifié le nom des fichiers en Catégorie de catégorie, comme name .. (c'est-à-dire OriginalClass_CategoryName.h/m en OriginalClass+CategoryName.h/m, et modifié également le contenu du fichier).

Droit chemin ici:

New File -> Cocoa Touch -> Objective-C category, et il va générer automatiquement des fichiers (OriginalClass+CategoryName.h/m).

Oh, comme je suis bête !!

5
Kjuly

J'ai eu exactement le même problème simplement parce que j'avais deux constantes identiques dans des classes différentes. Vous pouvez également avoir ce problème si vous importez un fichier .m pas un fichier .h 

5
Adela

Pour ajouter à la liste des choses étranges qui ont résolu ce problème ...

J'ai eu des variables const CGFloat dans un fichier d'en-tête global comme si

const NSInteger  globalInteger1 = 2;
const NSInteger  globalInteger2 = 3;

Au moment où j'ai enlevé ceux-ci, tout allait bien :)

5
sherlock

J'ai eu le même problème et je l'ai résolu. Dans mon cas, le paramètre "architectures" est à l'origine du problème. Dans mon fichier de projet, onglet Paramètres de construction, les architectures étaient définies sur armv6. Je l'ai changé en Standard (armv7), nettoyez et construisez. Ensuite cela a fonctionné!

4
Kim Jin

Dans mon cas, le problème était d'avoir différentes architectures spécifiées sous différentes cibles. Je construisais ma cible d'application avec armv6, armv7 et cocos2d avec Standard (amrv7). Accédez aux paramètres de construction et assurez-vous que vos architectures conviennent à toutes les cibles.

4
ChrisP

Je ne sais pas si c'est lié, mais vu que vous utilisez environ 20 bibliothèques, vous pouvez consulter ce message sur leur site Web: http://three20.info/article/2011-03-10-Xcode4-Support

4
Rog

Cela a fait un tour pour moi:

Aller à 

1) Produits> propre

2) Windows> Projets

3) Sélectionnez votre projet et cliquez sur " Supprimer " Données dérivées

4) Produits> Build

4
Nilesh Pol

J'ai résolu ce problème aussi bizarre! 

Aller à Cible > Construire Phases > Lien binaire avec bibliothèques :

Supprimez tous vos cadres et ajoutez-les à nouveau! 

J'espère que ça marche pour toi ! 

4
Rudi

Pour la langue rapide ...

Je reçois cette erreur "ld: fichier trop petit (longueur = 0) ...." 

Dans mon cas, je viens de nettoyer le projet, puis de le reconstruire ..

Pas:-

1) Projet goto -> Nettoyer

2) Projet goto -> Construire

J'espère que cela t'aides..

4
Niks

Si vous avez défini NSObject avec le même nom comme:

NSObject *notUniqueObj;

même dans 2 fichiers différents (si vous en importez un dans un autre), cela vous donnera une erreur. Donnez des noms différents pour ceux-là.

3
Omkar Jadhav

J'ai pu corriger cette erreur en modifiant "Chemins de recherche de la bibliothèque" 

Il est apparu en premier lieu parce que j'avais déplacé quelques dossiers, ce qui a finalement donné à mes paramètres de construction deux chemins de recherche différents car ils sont automatiquement ajoutés à vos paramètres de construction lorsque vous liez une bibliothèque/infrastructure, mais ils ne le sont pas. toujours enlevé. 

Ainsi, si vous déplacez une bibliothèque/infrastructure liée dans un autre répertoire et le reliez à nouveau, vous devrez modifier manuellement le chemin de recherche.

Vous pourrez peut-être éviter cela en supprimant la bibliothèque/le framework avant de le déplacer, mais je n'ai pas testé cela.

3

Code Signinig !!!

J'avais aussi ce problème -"La commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)"

mon problème était que j'ai essayé d'exécuter l'application sur un vrai périphérique, et j'ai oublié de configurer la sectionCode Signingdans l'onglet Build Settings .

3
Aviram Net

J'ai défini par erreur une nouvelle constante du même nom en tant que constante existante dans un fichier différent, ce qui m'a causé cette erreur avec xCode 4.3.1. xCode ne s'est pas plaint mais le compilateur ne l'aime pas.

3
moliveira

Pour moi, il importait accidentellement un fichier ".m" d'implémentation au lieu de l'en-tête ".h" correspondant. Dès que j'ai compris que la construction du projet était redevenue normale.

3
owenfi

pour moi le problème était que j'avais chargé deux fois les mêmes fonctions. Supprimer -ObjC de Paramètres de construction > Liaison > Autres drapeaux de l’éditeur de liens .

3
Agu Dondo

Une possibilité: Activez "Suppression du code mort" dans les paramètres de construction de Xcode 4.

Autre possibilité: il est possible que vous utilisiez LLVM pour une structure qui utilisait auparavant GCC. Revenir à GCC (ou à LLVM GCC) peut éliminer ces avertissements.

3
Enchilada

J'essayais accidentellement de compiler un simulateur 64 bits qui n'était pas conforme à mes CocoaPod

2
Alan

Pour moi, l’architecture était défectueuse lorsqu’elle s’exécutait sur un périphérique dans XCode 4.5.x. 

XCode 4.5 ne supporte plus armv6, mon correctif était donc:

Je viens d'éditer toutes les cibles dans toutes les bibliothèques (three20Core, three20Common, etc.) et libThree20: dans les paramètres de construction, seuls armv7 et armv7 ont été choisis dans "Architectures" et "Architectures valides".

2

Dans mon cas, j'avais dupliqué un fichier de classe! Trouvez-le en utilisant le champ de recherche en bas de la barre de droite de Xcode, afin de le résoudre, supprimez la référence de l'un

2
Mazen Kasser

Mon correctif pour le même problème: Ajouter les "autres indicateurs d'éditeur de liens" dans "Projet" et non dans "Cibles" . Alors, je l'ai déplacé dans "Cibles", il ne devrait pas figurer dans "Projet".

2
Idan Moshe

La solution à ce problème est très simple Allez dans le répertoire où le projet est installé et ouvrez le fichier Avec l’extension ".xcworkspace".

Cela résoudra le problème. 

2
Ahmed Samir

Je cours xcode 5. Dans mon cas, je dois changer mon "Cible de déploiement" . Il était précédemment défini sur 3.0 et je le modifie à 7.0. Maintenant le message d'erreur est parti. Pour modifier votre "Cible de déploiement" , , Procédez comme suit:

  • Allez à votre "nom du projet" (en haut à gauche)
  • Allez à votre "Cibles" (milieu de l'écran)
  • Aller à "Général"
  • "Informations de déploiement"
  • "Cible de déploiement"

Changez-le en version iOS actuelle .- Merci.

2
Tulon

Si vous obtenez un avertissement ou une erreur Mach-O Linker indiquant "Répertoire introuvable pour l'option", recherchez le chemin d'accès à ce répertoire. S'il manque, essayez de télécharger la dernière version de RestKit et de placer le dossier manuellement.

1
Kyle Clegg

J'ai accidentellement ajouté deux copies de la même sous-classe d'un UITableViewController. Supprimer l'un des ensembles de fichiers a effacé l'erreur.

1
smileBot

Mon problème était parce que je n'avais pas défini les variables en tant qu'extern dans l'un de mes fichiers d'en-tête et que cela a été redéclaré dans le fichier .c.

1
Maverick

Si vous avez utilisé XCode pour créer une classe NSManagedObject personnalisée, puis l'ajouter et générer un nouveau fichier pour la classe personnalisée, parfois XCode n'écrase pas votre ancienne classe et vous serez bloqué avec deux fichiers identiques mais dans des répertoires différents. Trouvez l'ancien fichier et supprimez-le.

Le problème pourrait être autre chose cependant. 

0
Jared Moskowitz

Dans mon cas, la cause d'une telle erreur Apple Mach-O Linker était l'inclusion du fichier de code source (.m) dans la cible du regroupement de ressources.

Vérifiez que le fichier .m récemment créé n'est pas inclus dans un ensemble: sélectionnez le fichier dans le navigateur de projet, ouvrez l'inspecteur de fichiers et assurez-vous que cette case à cocher est désactivée dans la section Target Membership.

0
pjuzeliunas

Dans mon cas, j'avais des déclarations en double de certaines clés. J'ai déclaré certaines constantes NSString à l'aide du mot-clé extern et ai fait exactement la même chose dans deux fichiers de classe différents. Quand j'ai enlevé l'un d'eux, l'erreur a disparu.

extern NSString *const CFDataStatusKey;
extern NSString *const CFDataErrorKey;
extern NSString *const CFDataReasonKey;
extern NSString *const CFDataChannelsKey;

Ceux-ci ont été déclarés et initialisés respectivement dans les fichiers .h et .m des deux classes. Supprimer un duplicata a résolu le problème. Espère que cela aide

0
user5284310

Avec CocoaPod, commencez par installer puis ouvrez l’espace de travail au lieu du projet spécifié sur Site Web CocoaPod .

$ pod install

$ open YOUR_PROJECT_NAME.xcworkspace
0
Hassan Rahman

Je devais simplement créer des fichiers avec une méthode main() et Xcode n'était pas content de cela.

0
Curlip

Cette erreur peut également se produire si vous avez importé deux versions différentes de la même bibliothèque. Dans ce cas, supprimez simplement l'ancienne version et ne conservez qu'une version, Magic fonctionnera pour vous.

0
AHSAN NAZIR RAJA

Si vous utilisez Xcode 7 ou une version ultérieure, créez simplement un produit -> nettoyer. Cela a fonctionné pour moi.

0
Daniel

J'ai eu le même problème, alors que je glissais des fichiers .h et .m dans mon projet et que Xcode a commencé à afficher 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) en courant.

Plus tard, j'ai découvert que j'ai déjà ce fichier .h & .m dans mon projet Xcode sous un autre sous-dossier. J'ai donc supprimé les fichiers .h et .m supplémentaires, qui ont nettoyé mon projet et qui fonctionnent maintenant.

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 survient pour un certain nombre de raisons, c'est pourquoi cette question a autant de réponses. Vous avez juste besoin de voir et de vérifier; dans quel cas tu tombes.

0
Jasmeet

Suivez ces étapes pour résoudre ce problème:

Accédez aux paramètres du projet et à l'onglet Construire. Rechercher"Autres drapeaux de lieur"

Double-cliquez sur les drapeaux de l'éditeur de liens pour la publication et le changement:

 ${TARGET_BUILD_DIR}/libCordova.a to ${BUILT_PRODUCTS_DIR}/libCordova.a

Faites de même pourDebug Nettoyezetbuildarchive à nouveau.

0
Tuttoilmondo

Mon problème était que dans plusieurs fichiers class.m j'avais créé un NSString nommé TAG et que j'avais défini la valeur de TAG sur le nom de chaîne de chaque classe (Ex: NSString * TAG = HWGuiControl). J'avais fait en sorte qu'il était alors facile de faire précéder mes instructions NSLog du nom de la classe. (J'ai utilisé ce système sous Android avec un grand succès, idéal pour analyser le déroulement du programme 2 ans plus tard). En déployant sur un périphérique, tout cela fonctionne très bien. Mais quand il est temps de créer une archive pour la distribution, l’éditeur de liens ne peut apparemment pas lutter contre la balise NSString nommée TAG qui apparaît dans plusieurs fichiers. Modifier le (s) nom (s) de TAG en HWGTAG, etc.

0
dasboos

dans mon cas, je viens de déplacer le fichier .h .m d’un dossier à un autre et ce dossier n’existait pas derrière. donc j'ai créé le dossier d'abord sur le Finder, puis déplacé le fichier sur le Finder, puis ajouter ce dossier et supprimer la référence de déplacé vers un autre dossier du projet, il a cessé de me donner une erreur

0
Khurram Iqbal

je pense que la meilleure réponse est d'examiner les importations de fichiers, certaines importations ont un problème.

exemple: include #import "fichier.m" .__ ou include fichier externe.h 

...

0
user2165491

Pourriez-vous essayer Unity-Build Settings-Lecteur Paramètres-SDK Version: Kit SDK au lieu de simulator sdk

J'ai eu une telle erreur et qui l'a corrigé

0
Stormy

Dans mon cas, j'ai inclure le fichier .m thats pourquoi le compilateur montre ce type d'erreur.

vous devez vérifier la dernière importation de fichier qui n'est pas le fichier .m "Sometime i"

0
Abhijit Kotangale

Je voudrais partager une raison de plus quand j'ai eu cette erreur: 

J'avais changé le nom du projet dans Project Navigator (Xcode 6.1.1) en un seul clic dessus et mon projet ne serait pas compilé. J'ai changé le nom du projet en ancien nom, le projet était en construction. Très très étrange mais oui j'ai fait face à cela. J'espère que cette information aide. 

0
skypirate

J'ai eu le même problème il y a une minute. qui m'a conduit ici, qui n'a pas été d'aucune aide. Mais j'ai compris quel était le problème et l'ai corrigé. le problème était que dans mon fichier d'en-tête, j'avais à déclarer une instance de la classe de struct nommée trig_node [SIZE] 

ma tête ...

struct TrigNode
{
    float msin;
    float mcos;
    float mtan;
}trig_node[SIZE];

et dans mon fichier .cpp j'ai une fonction qui accède à cette instance et renvoie la réponse.

float cos_table_(float deg)
{
    uint n = ((SIZE/DEGRE)*deg);
    return trig_node[n % DEGRE].mcos;
}

ce qui est ce qui a causé mon erreur de liaison . Donc, pour corriger cela, je place l’instance de la classe de table trig "trig_node [SIZE]" dans le fichier .cpp qui a effacé l’erreur. alors maintenant le nouveau correctif ressemblait à quelque chose comme ça

ma tête ...

struct TrigNode
{
    float msin;
    float mcos;
    float mtan;
};

mon fichier .cpp trig_node [SIZE]

float cos_table_(float deg)
{
    uint n = ((SIZE/DEGRE)*deg);
    return trig_node[n % DEGRE].mcos;
}
0
kanthonye

Je devais m'assurer que mon framework était construit avec un simulateur sélectionné afin de construire mon projet avec un simulateur (mon projet utilise bien sûr le framework). Il en va de même pour la construction sur mon iPhone, tout doit être synchronisé sans que l'on sache pourquoi, mais le problème est résolu.

J'espère que ça aidera quelqu'un.

0
jer_francis

J'ai eu le même problème lorsque j'exporte le module FMDB dans xcode 4.6 . Plus tard, j'ai trouvé un fmdb.m dans ma liste de fichiers qui était à l'origine de ce problème . Après avoir été retiré du projet, cela fonctionne bien

0
winari

Accédez à la configuration de votre espace de travail et apportez les modifications suivantes:

Workspace Setting:
   Build System:
     Legacy BuilPer-User


 Per-User Workspace
  DerivedData:
    Workspace relative location



Build System 
    Use User Setting
0
Andy Rubin

J'ai eu ce problème après avoir importé un framework. Sous 'Construire les phases', le nom du framework a été surligné en rouge. J'ai ajouté le cadre à nouveau et le problème a été résolu.

0
yoeriboven

J'ai rencontré ce problème pour comprendre que j'ai deux références dans mon projet XCODE. Supprimez simplement l'autre référence. J'espère que cela t'aides

0
Rick Royd Aban

Je l'ai corrigé en changeant Type de Mach-O dans la section de liaison des paramètres de construction de Nothing à Exécutable.

0
Menan Vadivel