/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Niveau d’avertissement)

Spécifie comment le compilateur génère les avertissements pour une compilation donnée.

Syntaxe

/W
/W0
/W1
/W2
/W3
/W4
/Mur
/Wv[:version]
/WX
Avertissement /w1
Avertissement /w2
Avertissement /w3
Avertissement /w4
Avertissement /wd
Avertissement /we
Avertissement /wo

Remarques

Les options d’avertissement spécifient les avertissements du compilateur à afficher et le comportement d’avertissement pour l’ensemble de la compilation.

Les options d’avertissement et les arguments associés sont décrits dans les tableaux suivants :

Option Description
/W Supprime tous les avertissements du compilateur.
/W0

/W1

/W2

/W3

/W4
Spécifie le niveau d’avertissements à générer par le compilateur. Les niveaux d’avertissement valides vont de 0 à 4 :
/W0 supprime tous les avertissements. Elle équivaut à /w.
/W1 affiche les avertissements de niveau 1 (graves). /W1 est le paramètre par défaut dans le compilateur de ligne de commande.
/W2 affiche les avertissements de niveau 1 et de niveau 2 (significatifs).
/W3 affiche les avertissements de niveau 1, de niveau 2 et de niveau 3 (qualité de production). /W3 est le paramètre par défaut dans l’IDE.
/W4 affiche les avertissements de niveau 1, de niveau 2 et de niveau 3, ainsi que tous les avertissements de niveau 4 (d’information) qui ne sont pas désactivés par défaut. Nous vous recommandons d’utiliser cette option pour fournir des avertissements de type lint. Pour un nouveau projet, il peut être préférable d’utiliser /W4 dans toutes les compilations. Cette option permet de garantir le moins de défauts de code difficiles à trouver.
/Mur Affiche tous les avertissements affichés par /W4 et tous les autres avertissements que /W4 n’inclut pas, par exemple, les avertissements désactivés par défaut. Pour plus d’informations, consultez Avertissements du compilateur désactivés par défaut.
/Wv[:version] Affiche uniquement les avertissements introduits dans la version du compilateur de version et les versions antérieures. Vous pouvez utiliser cette option pour supprimer les nouveaux avertissements dans le code lorsque vous migrez vers une version plus récente du compilateur. Il vous permet de gérer votre processus de génération existant pendant que vous les corrigez. La version facultative du paramètre prend la forme nn[. mm[. bbbbb]], où nn est le numéro de version principale, mm le numéro de version secondaire facultatif et bbbbb le numéro de build facultatif du compilateur. Par exemple, utilisez /Wv:17 pour afficher uniquement les avertissements introduits dans Visual Studio 2012 (version majeure 17) ou une version antérieure. Autrement dit, il affiche des avertissements à partir de n’importe quelle version du compilateur dont le numéro de version principale est inférieur ou égal à 17. Il supprime les avertissements introduits dans Visual Studio 2013 (version majeure 18) et versions ultérieures. Par défaut, /Wv utilise le numéro de version du compilateur actuel et aucun avertissement n’est supprimé. Pour plus d’informations sur les avertissements qui sont supprimés par version du compilateur, consultez Avertissements du compilateur par version du compilateur.
/WX Considère tous les avertissements du compilateur comme des erreurs. Pour un nouveau projet, il peut être préférable d’utiliser /WX dans toutes les compilations ; la résolution de tous les avertissements garantit le moins de défauts de code difficiles à trouver.

L’éditeur de liens a également une option /WX . Pour plus d’informations, consultez /WX (Traiter les avertissements de l’éditeur de liens comme des erreurs).

Les options suivantes s’excluent mutuellement. La dernière option spécifiée à partir de ce groupe est celle appliquée :

Option Description
/w1nnnn

/w2nnnn

/w3nnnn

/w4nnnn
Définit le niveau d’avertissement pour le numéro d’avertissement spécifié par nnnn. Ces options vous permettent de modifier le comportement du compilateur pour cet avertissement lorsqu’un niveau d’avertissement spécifique est défini. Vous pouvez utiliser ces options en combinaison avec d’autres options d’avertissement pour appliquer vos propres normes de codage pour les avertissements, plutôt que celles par défaut fournies par Visual Studio.

Par exemple, /w34326 entraîne la génération de C4326 en tant qu’avertissement de niveau 3 au lieu du niveau 1. Si vous compilez à l’aide de l’option /w34326 et de l’option /W2 , l’avertissement C4326 n’est pas généré.
/wdnnnn Supprime l’avertissement du compilateur spécifié par nnnn.

Par exemple, /wd4326 supprime l’avertissement du compilateur C4326.
/wennnn Traite l’avertissement du compilateur spécifié par nnnn comme une erreur.

Par exemple, /we4326 entraîne le traitement du numéro d’avertissement C4326 comme une erreur par le compilateur.
/wonnnn Signale l’avertissement du compilateur spécifié par nnnn une seule fois.

Par exemple, /wo4326 entraîne le signalement de l’avertissement C4326 une seule fois, la première fois qu’il est rencontré par le compilateur.

Si vous utilisez des options d’avertissement lorsque vous créez un en-tête précompilé, ces paramètres sont conservés. L’utilisation de l’en-tête précompilé revient à appliquer ces mêmes options d’avertissement. Pour remplacer les options d’avertissement d’en-tête précompilées, définissez une autre option d’avertissement sur la ligne de commande.

Vous pouvez utiliser une directive d’avertissement #pragma pour contrôler le niveau d’avertissement signalé au moment de la compilation dans des fichiers sources spécifiques.

Les directives pragma d’avertissement dans le code source ne sont pas affectées par l’option /w .

La documentation sur les erreurs de build décrit les avertissements et les niveaux d’avertissement, et indique pourquoi certaines instructions peuvent ne pas être compilées comme vous le souhaitez.

Pour définir les options du compilateur dans l’environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Pour définir les options /W0, /W1, /W2, /W3, /W4, /Wall, /Wv, /WX ou /WX-, sélectionnez Propriétés> de configurationC/C++>Général.

    • Pour définir les options /W0, /W1, /W2, /W3, /W4 ou /Wall , modifiez la propriété Niveau d’avertissement .

    • Pour définir les options /WX ou /WX- , modifiez la propriété Traiter les avertissements en tant qu’erreurs .

    • Pour définir la version de l’option /Wv , entrez le numéro de version du compilateur dans la propriété Version d’avertissement .

  3. Pour définir les options /wd ou /we, sélectionnez la page de propriétés Propriétés> de configurationC/C++>Advanced.

    • Pour définir l’option /wd , sélectionnez le contrôle de liste déroulante Désactiver les avertissements spécifiques , puis choisissez Modifier. Dans la zone d’édition de la boîte de dialogue Désactiver les avertissements spécifiques , entrez le numéro d’avertissement. Pour entrer plusieurs avertissements, séparez les valeurs à l’aide d’un point-virgule (;). Par exemple, pour désactiver À la fois C4001 et C4010, entrez 4001;4010. Choisissez OK pour enregistrer vos modifications et revenir à la boîte de dialogue Pages de propriétés .

    • Pour définir l’option /we , sélectionnez le contrôle de propriété Traiter des avertissements spécifiques en tant qu’erreurs , puis choisissez Modifier. Dans la zone d’édition de la boîte de dialogue Traiter des avertissements spécifiques en tant qu’erreurs , entrez le numéro d’avertissement. Pour entrer plusieurs avertissements, séparez les valeurs à l’aide d’un point-virgule (;). Par exemple, pour traiter C4001 et C4010 comme des erreurs, entrez 4001;4010. Choisissez OK pour enregistrer vos modifications et revenir à la boîte de dialogue Pages de propriétés .

  4. Pour définir l’option /wo, sélectionnez la page de propriétés de la ligne de commandeC/C++>Propriétés> de configuration. Entrez l’option du compilateur dans la zone Options supplémentaires .

  5. Choisissez OK pour enregistrer vos modifications.

Pour définir l'option du compilateur par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de la ligne de commande du compilateur MSVC