xcode LLVM 5.1 clang erreur
Je vais avoir pas de chance ces derniers jours depuis Xcode 5.1 est sorti.
Je reçois cette erreur sur un vieux projet qui prend en charge 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'y a pas beaucoup de posts à ce sujet sur l'internet et quelques suggestions semblent être changer votre CFLAGS
mais je n'ai aucune idée de comment faire cela dans Xcode.
Apple suggère à partir de leurs documents:
Compilateur
De Apple LLVM compilateur de la version 5.1 (clang-502) et, plus tard, l'
niveau d'optimisation -O4 n'implique plus de lien à l'optimisation du temps (LTO).
Afin de construire avec LTO utiliser explicitement l'-flto option en plus
pour l'optimisation de l'indicateur de niveau. (15633276) L'Apple LLVM compilateur dans
Xcode 5.1 traite non reconnu options de ligne de commande comme des erreurs. Cette
le problème a été vu lors de la construction de Python extensions natives et
Les Gems Ruby, où certains invalides options du compilateur sont actuellement
spécifié. Les projets utilisant des invalides options du compilateur devra être
modifié pour supprimer ces options. Pour faciliter cette transition, le
le compilateur va accepter temporairement une possibilité de revenir à l'erreur, à une
avertissement:
-Wno-error=unused-command-line-argument-hard-error-in-future
Remarque: Cette option ne sera pas pris en charge dans l'avenir. Pour contourner
ce problème, définissez le ARCHFLAGS variable d'environnement pour le downgrade
erreur à un avertissement. Par exemple, vous pouvez installer un Python natif
extension avec:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ExtensionName
De même, vous pouvez installer un Rubis Gemme 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? Évidemment, Apple a foiré parce que il ne doit être me présenter avec un avertissement et non une erreur, conformément à leurs documents.
Toute aide serait grandement appréciée. Je ne peux pas créer mon application jusqu'à ce que ce problème est corrigé.
u got ce fixe??
Suspect similaire Oreiller compiler correctif pourrait aider
OriginalL'auteur Airtower | 2014-03-14
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas une telle chose comme
-fno-obj-arc
. Cette jamais fonctionnait correctement; vous juste ne voyaient pas les avertissements. La forme correcte est-fno-objc-arc
.MODIFIER (en annexe info tirée de mes commentaires ci-dessous): Ce n'est pas un bruit d'erreur. C'est une erreur dans le projet; clang est simplement de le signaler. Le projet lui-même, à tort, contient les
-fno-obj-arc
argument, probablement dans la Compilation des Sources phase de construction de la cible (comme décrit ici: Comment puis-je désactiver l'ARC pour un seul fichier dans un projet?). Il est facile de taper le paramètre est incorrect; ce qui a changé dans Xcode 5.1 est simplement que clang l'on appelle maintenant le problème de votre attention. Donc, comme je l'ai dit avant, ce jamais fonctionnait correctement; vous avez sans doute conçu pour éteindre l'ARC pour certains fichiers, mais vous ne parviennent pas à le faire, que la génération argument a été mal saisi.Pas de. Clang est la déclaration de votre erreur. Vous avez mis ce pour certains de vos fichiers, probablement dans les phases de construction de votre cible. - il est de votre projet. Il n'est pas tombé du ciel. Vous l'avez écrit. Vous avez fait une erreur. Fix it.
La solution la plus simple est probablement d'utiliser Xcode 5.0.2 clang, comme je l'explique ici: stackoverflow.com/a/22467108/341994
OriginalL'auteur matt
Mise à jour de xcode envoie maintenant des inconnus drapeaux du compilateur que les erreurs matérielles plutôt que de mises en garde. Trouvé cela très 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"
Et si vous êtes en utilisant
sudo
,sudo ARCHFLAGS=-Wno-error=nused-command-line-argument-hard-error-in-future your command here
votre réponse devrait être réponse. Je l'ai renvoyé à ce site à une dizaine de fois d'utiliser cette commande.
OriginalL'auteur daroo
J'ai compris avec un petit peu d'aide de matt.
J'ai été à essayer de comprendre où changer de l'-fno-obj-arc et personne N'a répondu à cette question.
J'ai trouvé ce lien pour être utile...
http://blog.evanmulawski.com/?p=36
Une fois que vous sélectionnez phases de construction et de compiler les sources, vous pouvez regarder à côté des fichiers dans votre projet et de changer leur construire des drapeaux.
Merci pour la tentative gars.
Eh bien, aussi cette réponse décrit la situation de manière incorrecte. Ce que j'ai donné n'était pas seulement "un petit peu d'aide". L'OP continua d'insister pour que clang lui-même était dans l'erreur et que
-fno-obj-arc
était quelque chose que a été dit. Ma réponse, en plus de commentaires répétés, ont été nécessaires pour obtenir le po pour comprendre que clang était simplement déclaration l'erreur, qui était dans le projet lui-même. Par ailleurs, mes commentaires ne expliquer où l'erreur a été susceptibles d'être trouvés.OriginalL'auteur Airtower
sudo
, donc su pour devenir root et installer.OriginalL'auteur msc
Vous avez besoin de changer -fno-obj-arc-fno-objc-arc.
Sélectionnez projet -> cibles -> phases de construction ..voir photo
OriginalL'auteur Juraj Antas