Valor de retorno de cl.exe

O cl.exe retorna zero para êxito (sem erros) e um número diferente de zero para outros casos.

O valor de retorno do cl.exe pode ser útil se você estiver compilando a partir de um arquivo de script, powershell, .cmd ou .bat. É recomendável capturar a saída do compilador caso haja erros ou avisos, para que você possa resolvê-los.

Há muitos possíveis códigos de saída de erro para o cl.exe listá-los. Você pode procurar por um código de erro nos arquivos winerror.h ou ntstatus.h incluídos no Kit de Desenvolvimento de Software do Windows no diretório %ProgramFiles(x86)%\Windows Kits\version\Include\shared\. Os códigos de erro retornados em decimal devem ser convertidos em hexadecimal para pesquisa. Por exemplo, um código de erro -1073741620 convertido em hexadecimal é 0xC00000CC. Esse erro é encontrado em ntstatus.h, em que a mensagem correspondente é "O nome do compartilhamento especificado não pode ser encontrado no servidor remoto". Para obter uma lista para baixar os códigos de erro do Windows, consulte [MS-ERREF] Códigos de Erro do Windows.

Você também pode usar o utilitário de pesquisa de erro no Visual Studio para descobrir o que uma mensagem de erro do compilador significa. Em um shell de comando do Visual Studio, digite errlook.exe para iniciar o utilitário; ou, na barra de menus do Visual Studio IDE, escolha Ferramentas, Pesquisa de Erro. Digite o valor do erro para encontrar o texto descritivo associado ao erro. Para obter mais informações, consulte Referência do ERRLOOK.

Comentários

Este é um arquivo .bat de exemplo que usa o valor de retorno do 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

Confira também

Sintaxe da linha de comando do compilador MSVC