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