Valeur de retour de cl.exe

cl.exe retourne zéro en cas de réussite (aucune erreur) et une valeur différente de zéro dans les autres cas.

La valeur de retour de cl.exe peut être utile si vous compilez à partir d'un fichier script, powershell, .cmd ou .bat. Il est recommandé de capturer la sortie du compilateur afin de pouvoir résoudre les erreurs ou avertissements éventuels.

Il y a trop de codes de sortie d'erreur possibles pour que cl.exe puisse tous les répertorier. Vous pouvez rechercher un code d’erreur dans les fichiers winerror.h ou ntstatus.h inclus dans le kit de développement logiciel Windows dans le répertoire %ProgramFiles(x86)%\Windows Kits\version\Include\shared\. Les codes d'erreur retournés au format décimal doivent être convertis au format hexadécimal pour la recherche. Par exemple, le code d'erreur -1073741620 converti au format hexadécimal correspond à 0xC00000CC. Cette erreur se trouve dans ntstatus.h, où le message correspondant est « Impossible de trouver le nom de partage spécifié sur le serveur distant ». Pour obtenir la liste téléchargeable des codes d’erreur Windows, consultez [MS-ERREF] Codes d’erreur Windows.

Vous pouvez également utiliser l'utilitaire de recherche d'erreurs dans Visual Studio pour connaître la signification d'un message d'erreur du compilateur. Dans un interpréteur de commandes Visual Studio, entrez errlook.exe pour démarrer l’utilitaire ; ou dans l’IDE Visual Studio, dans la barre de menus, choisissez Outils, Recherche d’erreur. Entrez la valeur d'erreur pour rechercher le texte descriptif associé à l'erreur. Pour plus d’informations, consultez La référence ERRLOOK.

Notes

Vous trouverez ci-dessous un exemple de fichier .bat qui utilise la valeur de retour de cl.exe.

echo off
cl /W4 t.cpp
@if ERRORLEVEL == 0 (
   goto good
)

@if ERRORLEVEL != 0 (
   goto bad
)

:good
   echo "clean compile"
   echo %ERRORLEVEL%
   goto end

:bad
   echo "error or warning"
   echo %ERRORLEVEL%
   goto end

:end

Voir aussi

Syntaxe de la ligne de commande du compilateur MSVC