Il y a des fichiers dans mon projet iOS qui ont des avertissements, et je veux ignorer ces avertissements. Je ne veux pas désactiver les avertissements dans l'ensemble du projet (savoir comment faire), juste certains fichiers spécifiques. Alors, existe-t-il un moyen d'ignorer complètement tous les avertissements d'un fichier spécifique?
J'utilise LLVM 3.0 et Clang sur Xcode 4.2.
si vous utilisez simplement clang, vous devez utiliser la syntaxe pragma pour les sources que vous gérez (en supposant qu'il est impossible de supprimer l'avertissement en modifiant le programme de manière appropriée).
#pragma clang diagnostic Push
#pragma clang diagnostic ignored "-Wmultichar"
char b = 'df'; // no warning.
#pragma clang diagnostic pop
s'il s'agit de programmes que vous ne pouvez pas modifier et que vous ne maintenez pas, vous devez spécifier les avertissements à désactiver pour le fichier, plutôt que tous. pour tout désactiver, vous pouvez ajouter l'argument par fichier -w
. les sources changent et certains avertissements s'appliquent (ou ne s'appliquent pas) avec différents paramètres de génération. Les messages de clang peuvent vous dire quel indicateur équivaut à l'avertissement généré.
Pour utiliser Xcode pour modifier les drapeaux de construction d'un fichier:
J'ai hérité d'un projet qui contenait beaucoup de code 320, et cette base de code m'a lancé plusieurs avertissements et erreurs d'analyseur statique que je n'avais aucun intérêt à corriger car je supprimerai ce code du projet dans un proche avenir.
Vous pouvez désactiver les avertissements de l'analyseur statique pour un fichier spécifique en incluant l'indicateur de compilateur suivant:
-Xanalyzer -analyzer-disable-all-checks
Vous pouvez combiner cela avec -w pour désactiver également les avertissements pour ce fichier. Cela m'a permis d'aller de l'avant avec de nouveaux développements sans avoir à être harcelé par la trentaine d'avertissements générés par cette base de code.
En utilisant les instructions ci-dessus: Pour utiliser Xcode pour modifier les drapeaux de construction d'un fichier:
Avec l'aide de la réponse de Justin, voici comment vous faites
Dans mon cas, son conversion
Utilisez le filtre pour trouver le nom du fichier dans les sources de compilation, tapez -Wno-[error name]
par exemple. -Wno-conversion
Vous pouvez sélectionner une cible spécifique -> Paramètres de construction, rechercher Interdire tous les avertissements et définir sur OUI. Cela désactivera les avertissements sur cette cible. Cela peut être utile si vous utilisez du code comme JSONKit avec des cocoapods, et que vous ne voulez pas voir comment le compilateur pleure à propos des avertissements :)