Je n'ai pas de chance ces derniers jours depuis la sortie de Xcode 5.1.
Je continue à avoir cette erreur sur un ancien projet qui supporte iOS 6.0:
ERROR:
clang: error: unknown argument: '-fno-obj-arc' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1
Il n’ya pas beaucoup de messages à ce sujet sur Internet et certaines suggestions semblent être de changer votre CFLAGS
mais je ne sais pas comment faire cela dans Xcode.
Apple suggère ceci à partir de leurs documents:
Compilateur
À partir du compilateur Apple LLVM version 5.1 (clang-502) et plus tard, le fichier niveau d'optimisation -O4 n'implique plus l'optimisation du temps de liaison (LTO) . Pour construire avec LTO, utilisez explicitement l'option -flto à l'indicateur de niveau d'optimisation. (15633276) Le compilateur Apple LLVM dans Xcode 5.1 traite les options de ligne de commande non reconnues comme des erreurs. Ce problème a été constaté lors de la construction d’extensions natives Python et de Ruby Gems, où certaines options de compilateur non valides sont actuellement spécifié. Les projets utilisant des options de compilateur non valides devront être changé pour supprimer ces options. Pour faciliter cette transition, le fichier Le compilateur acceptera temporairement une option permettant de rétrograder l'erreur en un Attention:
-Wno-error=unused-command-line-argument-hard-error-in-future
Remarque: cette option ne sera pas prise en charge à l'avenir. Pour contourner le problème Pour résoudre ce problème, définissez la variable d’environnement ARCHFLAGS de manière à rétrograder le fichier erreur à un avertissement. Par exemple, vous pouvez installer un .__ natif Python. extension avec:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ExtensionName
De même, vous pouvez installer un Ruby Gem avec:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName 16214764 updated
Comment puis-je obtenir cette solution de contournement? De toute évidence, Apple a tout gâché car il ne devrait s'agir que de me présenter un avertissement et non une erreur selon leurs documents.
Toute aide serait grandement appréciée. Je ne peux pas créer mon application tant que ce problème n'a pas été résolu.
-fno-obj-arc
n'existe pas. Ce jamais fonctionnait correctement; vous ne voyiez tout simplement pas les avertissements. Le formulaire correct est -fno-objc-arc
.
EDIT (info ajoutée tirée de mes commentaires ci-dessous): Ce n'est pas une erreur de principe. C'est une erreur dans le projet. Clang le signale simplement. Le projet lui-même contient à tort l'argument -fno-obj-arc
, probablement au cours de la phase de construction de la cible Compiler (comme décrit ici: Comment désactiver ARC pour un seul fichier dans un projet? ). Il est facile de taper le paramètre de manière incorrecte; Ce qui a changé dans Xcode 5.1 est simplement que clang appelle maintenant le problème à votre attention. Ainsi, comme je l’ai dit précédemment, ce jamais fonctionnait correctement; vous aviez probablement l'intention de désactiver ARC pour certains fichiers, mais vous ne l'aviez pas fait, l'argument de génération ayant été mal saisi.
La mise à jour vers xcode génère désormais des indicateurs de compilateur inconnus sous forme d'erreurs absolues plutôt que d'avertissements. J'ai trouvé cela utile:
https://langui.sh/2014/03/10/wunused-command-line-argument-hard-error-in-future-is-a-harsh-mistress/
export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"
J'ai découvert Matt avec un peu d'aide.
J'essayais de savoir où changer le -fno-obj-arc et PERSONNE n’a répondu à cette question . J'ai trouvé ce lien utile… ..... http: // blog evanmulawski.com/?p=36
Une fois que vous avez sélectionné les phases de construction et compilé les sources, vous pouvez examiner les fichiers de votre projet et modifier leurs indicateurs de construction.
Merci pour la tentative les gars.
Vous devez remplacer -fno-obj-arc par -fno-objc-arc . Sélectionnez un projet -> cibles -> phases de construction